Maison > Questions et réponses > le corps du texte
需要做一个功能 从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执行完之后
继续执行后面的命令
迷茫2017-04-24 09:10:57
Votre sélection de symbole héréditaire est un point d'exclamation, et le deuxième point d'exclamation correspondant va à la fin du script.
En d'autres termes, toutes les instructions après bye dans le script ci-dessus sont redirigées vers ftp au lieu d'être exécutées par le shell
Solution : Mettez-le ! Déplacez-le sur la ligne après au revoir.