我试图创建一个执行诸如“pwd”或“ls”命令的.sh文件。 我的问题是当我执行.sh文件时。 它似乎无法识别的任务 我试图用回声 例如:echo 'lsApps'
或echo "lsApps"
但它打印任务的名称,而不是执行COMAND如何在.sh文件上执行ssh命令?
例如我想执行的.ssh文件,使一个PWD
VAR_1=pwd
echo $VAR_1
但它打印了我,而不是命令pwd的电流通路 ... 任何想法?
我试图创建一个执行诸如“pwd”或“ls”命令的.sh文件。 我的问题是当我执行.sh文件时。 它似乎无法识别的任务 我试图用回声 例如:echo 'lsApps'
或echo "lsApps"
但它打印任务的名称,而不是执行COMAND如何在.sh文件上执行ssh命令?
例如我想执行的.ssh文件,使一个PWD
VAR_1=pwd
echo $VAR_1
但它打印了我,而不是命令pwd的电流通路 ... 任何想法?
echo
用于在屏幕上打印(man page reference)。如果你做echo 'IsApps'
它会把它作为一个字符串并打印出来。如果要执行命令,则可以通过执行IsApps
(锐角不是引号,锐角通常在逃逸键下方)执行。这将执行该命令并在屏幕上显示输出。如果要将命令的输出存储在变量中,可以执行以下操作:
<variable_name>=`IsApps`
这会将输出存储在变量中。请注意,变量名和命令之间没有空格。此外,那些不是引号,而是尖锐的。要在屏幕上打印变量,您可以使用回显功能echo $<variable_name>
如果您不想看到输出。你可以做
IsApps > /dev/null
这将执行命令,但你不会在你的屏幕上看到任何标准输出。
就ssh而言,先执行ssh-keygen
然后ssh-copy-id [email protected]_ip
来设置ssh密钥,以便不必使用ssh输入密码。完成之后,您可以在shell脚本中使用ssh [email protected]_ip
。
发布您的脚本。显示你如何运行它。如何涉及'ssh'? – Barmar