如何在.sh文件中执行ssh comand?

时间:2016-07-19 13:07:21

标签: linux ssh sh

我尝试创建一个执行“pwd”或“ls”命令之类的.sh文件。 当我执行.sh文件时,我的问题。 它似乎无法识别任务 我试着用echo 示例:echo 'lsApps'echo "lsApps"  但它打印任务的名称而不是执行命令

例如,我想执行一个生成pwd的.ssh文件

VAR_1=pwd
echo $VAR_1

但它会打印我pwd而不是当前路径 ... 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

echo用于在屏幕上打印(man page reference)。如果你执行echo 'IsApps',它将把它作为一个字符串并打印出来。如果要执行命令,可以通过执行IsApps(急性而不是引号,急性通常位于转义键下方)来执行。这将执行命令并在屏幕上显示输出。如果要将命令的输出存储在变量中,可以执行

<variable_name>=`IsApps`

这会将输出存储在变量中。请注意,变量名和命令之间没有空格。而且,这些不是引用,而是尖锐的。要在屏幕上打印变量,您可以通过执行echo $<variable_name>

来使用echo

如果您根本不想看到输出。你可以做到

IsApps > /dev/null

这将执行命令,但您不会在屏幕上看到任何标准输出。

就ssh而言,请ssh-keygen然后ssh-copy-id user@remote_ip设置ssh密钥,这样您就不必使用ssh输入密码。完成后,您可以在shell脚本中使用ssh user@remote_ip