cari

Rumah  >  Soal Jawab  >  teks badan

ubuntu - shell命令没执行完

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

伊谢尔伦伊谢尔伦2866 hari yang lalu327

membalas semua(1)saya akan balas

  • 迷茫

    迷茫2017-04-24 09:10:57

    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.

    balas
    0
  • Batalbalas