bashファイルからmpirunを呼び出すと、$ VAR形式が認識されません...?

bashファイルからmpirunを呼び出すと、$ VAR形式が認識されません...?

次の.shファイルを実行しようとすると、mpirunでエラーが発生します。

ファイル:(簡潔にするために追加のPython設定は省略)

NB_MPI_WORKERS=2
SEED=0

mpirun --n ${NB_MPI_WORKERS} python start.py --base_path ~/temp --seed ${SEED}

間違い:

Open MPI has detected that a parameter given to a command line
option does not match the expected format:

  Option: n
  Param:  2

This is frequently caused by omitting to provide the parameter
to an option that requires one. Please check the command line and try again.

交換するだけでいいと確認しました。${NB_MPI_WORKERS}そして2動作するので、特に$ {seed}が動作しているので、エラーがどこにあるか少し混乱しています。

誰かがこれを明確にすることができますか?実際には型の問題ですか、それとも型の問題ですか?

バージョン:

  • Linux Mint 20.2
  • MPI 4.1.2を開く

答え1

コメントで提案されているように、解決策はファイルをDOSテキストファイル形式からUnixテキストファイル形式に変換して行末を置き換えることです。

NB_MPI_WORKERSファイルはDOSテキスト形式であるため、値に末尾のキャリッジリターンが追加されますSEED。私が知っている限りSEED、Pythonスクリプトが何らかの方法で値を正しく処理するので、これは問題ではないようです。しかし、他の変数の観点からは、--nオプションが正当ではない値を取得したことを意味します。

関連情報