簡體   English   中英

用於登錄遠程 VM 並從遠程 VM 運行命令的 Shell 腳本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM