0
このスクリプトの実行時に8行目に構文エラーが発生するのはなぜですか?例: i = 2で、関連する行6と8をコンソールにコピーすると問題なく動作します。GPU温度条件のアプリケーションを終了させるbashスクリプトの構文エラー
#! /bin/bash
# kills MATLAB if a GPU reaches a threshhold temperature
while true
do
gputemps=$(nvidia-smi --query-gpu=index,temperature.gpu --format=csv,noheader)
for i in 2 4 6 8
gputemp=$(echo ${gputemps} | awk -v var=$i '{print $var}')
if [ $gputemp -ge $1 ]
then
killall MATLAB
fi
done
sleep 1m
done
スクリプトではなくforループを使用する、I = 2を設定する場合に正しく、または少なくとも1つの作業を4のNvidiaのGPUを必要とすることに留意されたいです。私はUbuntu 16.04を実行しています。
ありがとうFarhad。私も他の人を削除しました:そして今はそれが動作します(あなたもそれを編集することができます)。 – mwater
'else'は問題ありません。 ':'を実行することは、 'else'がないかのように何もしないのと同じです。 – chepner