私は研究グループで働いており、PBS 待ち行列システムを使用しています。私は PBS マスターではありませんが、ジョブが実行されているかどうかを検索するスクリプトを作成したいと考えていました。これを行うには、まず qstat 呼び出しの結果を qstat -f の引数として使用して、すべてのジョブの文字列を取得し、次にすべてのジョブの詳細なリストを取得して、送信されたファイル パスを検索します。現在のクラッジは次のように立っています
dump=`qstat -f `qstat``
if grep -q \
"/${compounds[$i]}/D0_${j}_z_$((k*30))/scripts/jobscript_minim" \
<<<$dump; then
echo "Minimize is running!"
fi
改善のための提案?
また、$() は ``. しかし、私がしようとすると:
dump="$(qstat -f "$(qstat)")"
...私のプログラムは失敗します。どうしてこれなの?$() でシェル呼び出しをネストする方法を誤解していますか?? それとも、qstat から qstat -f にキュー ジョブのリストを渡す方法と関係がありますか? awk などを使用して qstat コマンドからジョブを取得し、何らかの方法で引数として qstat -f に渡す必要がありますか?
また、再帰的なgrepを使用する必要がありますか? 「正気」と言う人もいますが、それが何を意味するのかはわかりません。よりポータブルですか?速いですか?セラピストへの旅行が少なくて済みますか?
それを使うべき理由は何ですか?