我在與SFTP服務器交互時出現了一個奇怪的問題。我需要做的是登錄,找到滿足特定條件的最新文件,並下載它。所有這些來自bash腳本。它被完成的方式,到目前爲止是通過簡單地運行ls -lt
並考慮輸出的第一行:Bash + SFTP shell:對過濾的文件列表進行排序?
echo "ls -lt" > tmp.sftp
sftp -b tmp.sftp [email protected]:/inbox 1>sftp.log 2>&1
FILE=$(cat sftp.log | sed -n 3p | awk '{print $NF}')
echo "get $FILE" > tmp.sftp
sftp -b tmp.sftp [email protected]:/inbox
然而,他們最近開始把其他文件(我不在乎)到同一個文件夾。我試圖改變代碼做ls -lt blah*
,但由於某種原因,當有一個通配符過濾器,文件列表得到相反的順序排序...
我覺得我解決這個問題的方式是荒謬的,應該有一個更好的方法。我看起來怎麼樣?捲曲? wget的?謝謝!
感謝您的建議。不幸的是,'ssh user @ ftps.server.com'掛起,我認爲他們有用戶的shell設置爲'/ bin/false'或其他東西。 – braindancer 2013-03-20 01:54:45