2011-12-05 125 views
-1

我收到一个错误,如果我做ssh和源别名命令并执行该命令, 说“找不到命令”。可能是什么问题?我在远程机器上完成了这个命令的别名。 由于在使用全终端提前ssh source命令没有找到

+1

显示您正在运行的命令的示例。 – nos

回答

2

登录,并直接与命令的交互式登录shell执行bash,那么你要运行:

ssh -t <hostname> bash -lic '<command-or-alias>' 

这应该解析所有的别名,并正确地执行命令。

+0

仍给出错误为节点sc-1创建ESA备份 /home/backup/sshDemo:第5行:sc-1:找不到命令 为节点sc-2创建ESA备份 /home/backup/sshDemo:第5行: sc-2:未找到命令 为节点pl-1创建ESA备份 /home/backup/sshDemo:第5行:pl-1:未找到命令 为节点pl-2创建ESA备份 /home/backup/sshDemo :line 5:pl-2:command not found – user1081026

+0

code#!/ bin/bash for $(grep“^ node”/cluster/etc/cluster.conf | awk'{print $ 4}'); do echo“为节点$ {节点创建ESA备份}”; #$ ssh $ node bash -lic“source /etc/profile.d/esa.sh'; esaBackup -b/home/backup/esa/$ {node}”; ssh -n $ node source /etc/profile.d/esa.sh; esaBackup -b/home/backup/esa/$ {node}; #ssh $ node/opt/ESA/ESA/bin/esaBackup -b/home/backup/esa/$ {node}; 完成; – user1081026

+0

您正在对主机进行切换,然后运行一个脚本,该脚本再次执行ssh。第二次ssh调用不包括我在我的答案中提供的选项。 – pgl