ユーザーがリスト内の値を選択するまでループするスクリプトを作成しようとしています(0
から9
までの1桁の数字)。リスト内のループまで選択
choice=999
echo $choice
until [[ $choice in 0 1 2 3 4 5 6 7 8 9 ]]
do
read -p "How many would you like to add? " choice
done
どんなに私は何をすべきか、私はちょうどそれが仕事を得ることはできません。これは私がsh
コマンドを使用してのUbuntu 16.04シェルで実行しようとする私の.SHスクリプトです。ここではあなたの手で、エラーのアイデアを与えるための試験は、です:
sh test2.sh
999
test2.sh: 3: test2.sh: [[: not found
How many would you like to add? f
test2.sh: 3: test2.sh: [[: not found
How many would you like to add? 2
test2.sh: 3: test2.sh: [[: not found
How many would you like to add? 3
test2.sh: 3: test2.sh: [[: not found
How many would you like to add? r
test2.sh: 3: test2.sh: [[: not found
私はたくさんのことを試してみた:
- が
until
を回避し、ちょうど単数角括弧を使用してwhile
- を使用して
[ condition ]
、かっこはまったくありません - 正規表現に一致するように
=~
を使用してください^[0-9]
何も機能しません。常に同じエラー。どうしたの? :(
ありがとう、私は2番目の方法を試み、それは魅力のように働いた。 – Alexander
歓迎いたします。私はあなたの質問を編集して、元々やっていたことをはっきりさせるようにしました。あなたが同意しない場合は、自由に編集し直してください。 –