次のスクリプトを実行しようとしています。以前に問題なく実行しましたが、今ではエラーが発生します。
#!/bin/bash
# init
function pause(){
read -p "$*"
}
echo & echo "(Website):" &&read input
output=$(ping -c 1 "$input" 2>/dev/null)
if [ $? -eq 0 ]; then
ip=$(printf '%s' "$output" | gawk -F'[()]' '/PING/{print $2}' 2>/dev/null)
clear
echo
echo "$ip";
echo -n $ip | xclip -selection c
echo
echo
echo IP copied to clipboard.
echo
echo && sleep 2
pause 'Press [Enter] key to exit...'
exit
else
clear
echo
echo "Host not found";
echo && sleep 1
pause 'Press [Enter] key to exit...'
exit
fi
しかし、今では突然、次のエラーが発生します。
3: /home/username/Desktop/shell.sh: Syntax error: "(" unexpected
スクリプト自体に変更を加えていないため、このブラケットがエラーになる理由がわかりません。このスクリプトで私が見逃したものを見た人はいますか?
Bashバージョン:4.2.45(1)-release
新規インストール、ミント16(すべて更新済み)
編集:これを実際に表示できるようにここに配置します。
一時停止機能を完全に削除しました:
#!/bin/bash
# init
echo & echo "(Website):" && read input
output=$(ping -c 1 "$input" 2>/dev/null)
if [ $? -eq 0 ]; then
ip=$(printf '%s' "$output" | gawk -F'[()]' '/PING/{print $2}' 2>/dev/null)
clear
echo
echo "$ip";
echo -n $ip | xclip -selection c
echo
echo
echo IP copied to clipboard.
echo
echo && sleep 2
exit
else
clear
echo
echo "Host not found";
echo && sleep 1
exit
fi
しかし、「sh〜/ Desktop / shell.sh」を実行すると、次のようになります。
: not found/Desktop/shell.sh: 3: /home/username/Desktop/shell.sh:
(Website):
(google.comと入力してEnterキーを押します)、それが戻ります
: bad variable name/shell.sh: 4: read:
: not found/Desktop/shell.sh: 5: /home/username/Desktop/shell.sh:
/home/username/Desktop/shell.sh: 24: /home/username/Desktop/shell.sh: Syntax error: word unexpected
返信いただきありがとうございます。シェル自体に何か問題がありますか?
echo $BASH_VERSION
。3行目の「()」を削除できます。function
キーワードと開き角括弧で関数を宣言しています。