ubuntu - shell命令没执行完
伊谢尔伦
伊谢尔伦 2017-04-24 09:08:57
0
1
316

需要做一个功能 从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执行完之后
继续执行后面的命令

伊谢尔伦
伊谢尔伦

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

모든 응답(1)
迷茫

Heredoc 기호 선택은 느낌표이며, 일치하는 두 번째 느낌표는 스크립트 끝으로 이동합니다.

즉, 위 스크립트에서 bye 이후의 모든 문은 셸에서 실행되지 않고 ftp로 리디렉션됩니다

해결책: 넣어보세요! 안녕 후 줄로 이동합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿