2014-02-25 35 views
0

我試圖在腳本文件中包含一個帶有ftp命令的mv命令。但是當我運行該腳本文件時,它在mv命令上失敗。腳本失敗時,「mv」杵着「ftp」

代碼:

/usr/bin/ftp -i -n $HOST <<END_FTP 
quote USER $USER 
quote PASS $PASSWD 
cd /home/infodba/temploc/test_script/ 
binary 
mget Cust*.txt 
mv Cust*.txt ./archive 
quit 
END_FTP 

exit 0 

它拋出這個錯誤: 「無效的命令」

相同的腳本工作,如果我從文件

刪除mv命令是否有解決方法嗎?

回答

1

mv不是有效的ftp命令。如果您嘗試將剛獲得的文件移至./archive,則需要先退出ftp,或使用!退出命令。

!mv Cust*.txt ./archive

+0

其實我打算到遠程機器上的移動文件,如果要移動遙控器中的文件,使用ssh登錄到遠程主機和遠程文件scp將目標/本地計算機和移動不是本地 –

+0

遠程主機中的文件。 – Fidel

+0

然後你不能用ftp做。我想你可以''輸入'你剛纔提取的文件,但這將是荒謬的低效率。你需要'ssh'到遠程服務器。 – rojomoke

0

mv命令不被FTP/SFTP(IE),你不能移動文件在遠程主機上的支持,但隨着感嘆號(!),你將能夠在執行命令你的本地主機。

從遠程主機獲取文件後,如果您嘗試將文件移動到本地主機下面的作品。

/usr/bin/ftp -i -n $HOST <<END_FTP 
... 
mget Cust*.txt 
!mv Cust*.txt ./archive 
... 
... 
END_FTP