需要做一个功能 从ftp下载一个文件 然后解压 用shell写了一个sh如下
#!/bin/bash
echo 111111111111111111111111111111
ftp -n<<!
open 192.168.1.126
user anonymous null
binary
prompt
get $2 $1
close
bye
echo 222222222222222222222222222222
unzip -o -O UTF8 -d $5 $1
echo 333333333333333333333333333333
mysql -uhqzn -p111111 -e"use chedi-dev; UPDATE hq_task_queue SET status='done' Where ID = $3; UPDATE hq_log_TrainSend_Files SET ftped = 'done' Where ID= $4;"
!
运行结果却只打出了111111111111111111111111
也就是说2和3都没有执行
请教如何才能让ftp执行完之后
继续执行后面的命令
Pemilihan simbol heredoc anda ialah tanda seru dan tanda seru kedua yang sepadan pergi ke penghujung skrip.
Dalam erti kata lain, semua pernyataan selepas bye dalam skrip di atas dialihkan ke ftp dan bukannya dilaksanakan oleh shell
Penyelesaian: Letakkan! Pindahkannya ke baris selepas selamat tinggal.