2
命令我有一個腳本類似下面運行ls內SSH
sshpass -p "pwd" ssh -tt [email protected] << EOF
cd /directory
file=$(ls -1t| head -1)
exit
EOF
cd /directory
成功改變內殼的目錄。但是ls
給出了shell之外的結果。 ls
的結果與ssh
以外的結果相同。請幫忙。
命令我有一個腳本類似下面運行ls內SSH
sshpass -p "pwd" ssh -tt [email protected] << EOF
cd /directory
file=$(ls -1t| head -1)
exit
EOF
cd /directory
成功改變內殼的目錄。但是ls
給出了shell之外的結果。 ls
的結果與ssh
以外的結果相同。請幫忙。
$(...)
部件正在被外殼評估。您可以通過引用'EOF'
來禁用此功能,以便將$(...)
傳遞給遠程shell。這類似於使用單引號而不是雙引號和常規字符串。
sshpass -p "pwd" ssh -tt [email protected] << 'EOF'
cd /directory
file=$(ls -1t| head -1)
exit
EOF