2016-08-04 11 views
0

私はZIPし、FTPを使用していくつかのファイルを送信する必要があります。問題はPERLがすべてを実行し、圧縮がZIPを送信しようとするのを待たずにスクリプトが失敗することです。仕上げにコマンドの前のコマンドが終了した後に次のコマンドを実行してください

system("/path/to/zip/gzip myfile.txt") 
system("/path/to/ftp/ftp put myfile.txt") 
+1

システムコマンドを使用しないでください。 perlモジュールを使う – Jens

+0

@Jens何故私はperlモジュールをシステムコマンドよりも使うべきなの? – prgrm

+1

あなたはプログラムが移植可能なperlモジュールを使用している場合 – Jens

答えて

2

system待ち:

擬似コード内のスクリプトは、このようなものです。この動作を変更する唯一の方法は、アンパサンド&の追加です。

ので

system('<command> &'); 

がフィニッシュにコマンドを待つコマンドを実行しないであろう。 コマンドが完了するのを待つには、単にアンパサンドを削除します。

system('<command>'); 
関連する問題