この非常に基本的なスクリプトには問題があります。このスクリプトは私のMacbook ProではBashで動作しますが、Bashも使用しているLinux Mintデスクトップでは動作しません。
私はそれが間違っていることを理解していません。
bash でエラーメッセージが表示されます。
line 6: [: -lt: unary operator expected
line 16: [: -gt: unary operator expected
次の更新されたコードを使用してください。
#!/bin/bash
clear
counter=0
function countup {
while [ $counter -lt 500 ]
do
((counter++))
echo $counter
sleep 0.2
done
countdown
}
function countdown {
while [ $counter -gt 0 ]
do
((counter--))
echo $counter
sleep 0.2
done
countup
}
countup
答え1
この試み:
#!/bin/bash
clear
counter=0
function countup {
while [[ $counter -lt 500 ]]; do
((counter++))
echo $counter
sleep 0.2
done
countdown
}
function countdown {
while [[ $counter -gt 0 ]]; do
((counter--))
echo $counter
sleep 0.2
done
countup
}
countup
[[ ]]
割り当てられていない変数に対してより強力です。ただし、スクリプトは実行されます。ここに入力した内容がパソコンに入力した内容と異なるようです。これも永遠にカウントアップしてダウンしているように見えますが、意図的なようです。