私はUnix / Gnu / Linuxに初めて触れ、もっと学びようとしています。
ループ内で2つのスクリプトを実行する必要がありますが、これら2つのスクリプトを順番に実行する必要があります。
たとえば、
TargetFile = /data/TEST.CSV
while read -r line || [ -n "$line" ];
do
script_copy_file.sh $Parm1 $Parm2 $Parm3
script_split_file.sh $Parm1 $Parm2
done < "$TargetFile"
script_copy_fileが完了した後にscript_split_file.shが実行されるように、これら2つのスクリプトの間に何かを追加する必要がありますか? &&の使用に関するいくつかの記事を読んだが、ベストプラクティスに関するアドバイスを得ようとしてきました。
それとも順番に自然に実行されますか?
私の質問が面白いか奇妙な場合は申し訳ありません。私は学び、理解しようとするだけです。助けてくれてありがとう。
ありがとうございます。
ベストアンサー1
次のように実行されます。
script_copy_file.sh
script_split_file.sh
script_copy_file.sh
script_split_file.sh
script_copy_file.sh
script_split_file.sh
…
実行したい場合
script_copy_file.sh
script_copy_file.sh
script_copy_file.sh
script_split_file.sh
script_split_file.sh
script_split_file.sh
その後、2つのループが必要です。
その他
=
変数を引用して割り当てる前に、スペースなしで正しい変数を使用していることを検討してから、それを使用してスクリプトをshellcheck
確認する必要があります。
.sh
ファイル名の末尾に使用するのも悪い考えです。問題が発生しない可能性があります。今日ではなく明日ではありませんが、いつか問題が発生する可能性があります。 Pythonで何かを再実装するときにどれだけのスクリプトを書き直すべきかを想像してください。