bsubを介してプラットフォームLSFに渡されたコマンドでプロセス交換を実行しようとしています。
ジョブを送信したワーカーノードはPOSIX準拠の機能ではないため、プロセスの置き換えは有効になりません。
したがって、その機能を有効にしてからbsub内で2番目のプロセスを送信する必要があります。ここにあるドキュメントを使用してこれを行いましたが、バグがないわけではありません。最終 EOF 表示は読み取られません。warning: here-document at line 4 delimited by end-of-file (wanted 'EOF')
set +o posix;
bash <<EOF
some.program -1 <(gunzip -c some.file) -2 <(gunzip -c some.file);
EOF
bsubに単一の文字列として送信してください。
set +o posix;\nbash <<EOF\nsome.program -1 <(gunzip -c some.file) -2 <(gunzip -c some.file);\nEOF
最終EOFを正しく読み取る方法に関する提案はありますか?あなたが言ったように、すべてがうまくいっているので、コードを整理するだけです。
答え1
シェルは、EOF文字列がそれ自体で完全な行にあると予想します。\n
その後に1つだけ追加します(mybe a do Nothing:afterも役に立ちます)。
set +o posix;\nbash <<EOF\nsome.program -1 <(gunzip -c some.file) -2 <(gunzip -c some.file);\nEOF\n:
注:このコンテンツをコメントに書き込もうとしましたが、コンテンツ全体を作成するにはコメントスペースが不足しています。