我正在使用以下腳本來遍歷本地文件夾中的所有文件,並使用sshpass
將它們上傳到sftp
位置。我已經嘗試使用put
語句上傳單個文件。但我不知何故在哪裏把我的<<EOF
和EOF
正確?還是有其他缺失?在使用sshpass循環時,應該在哪裏放置<< EOF?
#!/bin/bash
FILES= /MY_LOCAL_FOLDER_PATH/*
sshpass -p 'MY_PASSWORD' sftp -o StrictHostKeyChecking=no -o HostKeyAlgorithms=+ssh-dss [email protected]_URL:/Import
<<EOF
for f in $FILES
do
chmod +X $f
put $f
done
EOF
我把chmod
那裏,因爲我的文件上有「拒絕權限」。
我寧願推薦您使用批處理文件,而不是使用IO重定向進行harakiri。 – Jakuje
@Jakuje這是所有'.sh'文件。如果您有任何問題,很高興看到您的解決方案。 – Disasterkid