2016-07-13 18 views
0

私のslurmスクリプトで何が問題なのかわかりません - 私が受け取っているエラーメッセージは、私の変数を定義しようとしているときに$ inputとコマンドが見つからないというあいまいなリダイレクトです。Slurm - あいまいなリダイレクト

#!/bin/bash 
#SBATCH --job-name=gim 
#SBATCH --time=24:00:00 
#SBATCH --ntasks=20 
#SBATCH --ntasks-per-node=2 
#SBATCH --cpus-per-task=1 
#SBATCH -o output_%A_%a.out #Standard Output 
#SBATCH -e output_%A_%a.err #Standard Error 

module load program 

input= gim${SLURM_ARRAY_TASK_ID}.gjf 
output= gim${SLURM_ARRAY_TASK_ID}.log 

program $input > $output 

私はそれを実行する方法は、次のとおりです。

sbatch --array=1-500 ./slurm.job 
+0

'input = foo'は、' input'が環境変数として設定され、その単一実行の期間だけ空の値を持つコマンドとして 'foo'を実行しています。 –

答えて

2

空白事項:

#!/bin/bash 
# ...etc... 

input=gim${SLURM_ARRAY_TASK_ID}.gjf 
output=gim${SLURM_ARRAY_TASK_ID}.log 

program "$input" > "$output" 

注割り当ての=記号を囲むスペースの不足。空白の場合:

+0

ありがとう、別のレッスンを受けました:) – EA00

+1

ところで、このクラスのバグ(と他のもの)を自動的に識別するhttp://shellcheck.net/(インストール可能なツール)を使用する習慣を作ることを検討してください。 –

関連する問題