[英]Shell script to login to remote VM and run commands from remote VM
我需要登錄到遠程虛擬機並運行一些命令。 我能夠成功登錄,但 echo 命令不會從遠程 VM 返回文件列表,而是從本地計算機返回輸出。 誰能建議我怎樣才能做到這一點?
ssh -o IdentitiesOnly=yes -o StrictHostKeyChecking=no root@$1<<EOF
cd /var;
echo "$(ls)";
EOF
exit
它在消除回聲后起作用。 PFB解決方案:
ssh -o IdentitiesOnly=yes -o StrictHostKeyChecking=no root@$1 << EOT
cd /var;
ls -ltr;
EOT
exit
您必須像這樣在EOF
序列中轉義$
:
ssh -o IdentitiesOnly=yes -o StrictHostKeyChecking=no root@$1<<EOF
cd /var;
echo "\$(ls)";
EOF
或者像這樣轉義整個 EOF 序列:
ssh -o IdentitiesOnly=yes -o StrictHostKeyChecking=no root@$1<<'EOF'
cd /var;
echo "$(ls)";
EOF
或者,如果您引用標記,則替換不會在本地 shell 中發生:
ssh -o IdentitiesOnly=yes -o StrictHostKeyChecking=no root@$1<<'EOF'
cd /var;
echo "$(ls)";
EOF
exit
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.