ubuntu - shell指令沒執行完
伊谢尔伦
伊谢尔伦 2017-04-24 09:08:57
0
1
315

需要做一個功能 從ftp下載一個文件 然後解壓 用shell寫了一個sh如下

#!/bin/bash
echo 111111111111111111111111111111
ftp -n<<!
open 192.168.1.126
user anonymous null
binary
prompt
get   
close
bye

echo 222222222222222222222222222222
unzip -o -O UTF8 -d   
echo 333333333333333333333333333333

mysql -uhqzn -p111111 -e"use chedi-dev; UPDATE  hq_task_queue SET status='done' Where ID = ; UPDATE hq_log_TrainSend_Files SET ftped = 'done' Where ID= ;"
!

運行結果卻隻打出了111111111111111111111111
也就是說2和3都沒有執行
請教如何才能讓ftp執行完之後
繼續執行後麵的命令

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回覆(1)
迷茫

你的heredoc符號選擇為了嘆號,而配對的第二個嘆號一直到了腳本文末。

換句話說,上述腳本bye之後的所有語句都被重定向給了ftp, 而不是被shell執行

解決方法:把!挪到bye之後一行。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板