2011-12-05 124 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