こんにちは。私はプログラミングが初めてで、現在bashスクリプトを学んでいます。このエラー "Line 28: Expected `)""について助けてください。
以下に私のプログラムを示します。
read -p "enter the number:" a
while [[ $a -le 100 ]]
do
echo "$a"
if [[ (($a-1) % 2) -eq 0 ]]
then
((a++))
fi
done
答え1
bashは算術評価を使用するため、$(( ... ))
テストには次のものが必要です。
if [[ $((($a-1) % 2)) -eq 0 ]]; then ...
ただし、変数の拡張は算術的文脈では暗黙的であるため、次のように書くことができます。
if [[ $(((a-1) % 2)) -eq 0 ]]; then ...
しかし、、算術式の状態を直接使用できるため、実際に外部テスト括弧は必要ありません。
if (( (a-1) % 2 == 0 )); then ...