1. ホーム

予期しないトークン「()」付近の構文エラー 問題解決

2022-02-16 09:01:02

 #! /bin/bash

 #プログラム
#プログラム
#ヒストリー
#2018/11/10 LY初公開
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
エクスポートPATH

read -p "数字を入力してください、1+2+3+...まで数えます。+your_input: " nu
s=0
for ( ( i=1; i<=$nu; i=i+1 ) )
する
s=$ ( ($s+$i) )
done"
echo "「1+2+3+...」の結果。+$nu' は ==> $s" です。

というエラーが出続けるランを想定しています。

数字を入力してください、1+2+3+...まで数えます。+your_input: 10
sh09.sh: line 11: syntax error near unexpected token `(')
sh09.sh: 11行目: `for ( ( i=1; i<=$nu; i=i+1 ) )'。

回避策は2つあります。

for (( i=1; i<=$nu; i=i+1 )) を for (( i=1; i<=$nu; i=i+1 )) に変更しました。

s=$ ( ($s+$i ) ) change to s=$[$s+$i].

2つ目は、大括弧の間のスペースを削除します。

for (( i=1; i<=$nu; i=i+1 ) ) を for (( i=1; i<=$nu; i=i+1 ) ) に変更します。

s=$ ( ($s+$i ) ) から s=$(($s+$i)) に変更。

PS: もし何か意味がわからないことがあれば、コメントを残してください。