2つの要素を含むbash配列変数をGNUパラレルスクリプトに渡そうとします。
echo ${opts[@]}
-s 100206 -i /input/100206/unprocessed/3T/T1w_MPR1/100206_3T_T1w_MPR1.nii.gz -s 100408 -i /input/100408/unprocessed/3T/T1w_MPR1/100408_3T_T1w_MPR1.nii.gz
このように実行しようとしています
printf '%s\n' "${opts[@]}" | parallel --jobs 8 --timeout 250% --progress recon-all {.} -all -qcache
私がprintf
間違って使用しているようです:
printf '%s\n' "${opts[@]}"
-s
100206
-i
/input/100206/unprocessed/3T/T1w_MPR1/100206_3T_T1w_MPR1.nii.gz
-s
100408
-i
/input/100408/unprocessed/3T/T1w_MPR1/100408_3T_T1w_MPR1.nii.gz
答え1
各コマンドには4つのレコードが必要だと思います。
printf '%s\n' "${opts[@]}" |
parallel --jobs 8 -n4 --timeout 250% --progress recon-all {.} -all -qcache