2016-07-27 5 views
0

複数のファイルに対してPythonスクリプトを実行するために次のコードを書きました。 script.pyが実行され、ループ内の最初のファイルで処理されると、親プロセスが存在します。私はこの出口を閉じ込める方法を見つけませんでした。eval execを実行するときにBashの子プロセスが親をkillする

#!/bin/bash 

args= 
for arg in "[email protected]"; 
do 
    args="$args '$arg'" 
done 

for file in /home/andrew/Downloads/xmls/* 
do 
     echo $file 
     eval exec "python script.py $file $args" 
done 

答えて

2

終了しません。あなたがexecなので、シェルはで置き換えられました。pythonプロセスです。

execを削除して、pythonプロセスを現在のシェルの子として生成させます。

あり、ここでevalの必要もなく、$args[email protected]に置き換えることができる。

python script.py "$file" "[email protected]" 
関連する問題