我試圖運行一個非常簡單的腳本,從用戶讀取輸入並持續循環問題,如果用戶輸入不符合預期的。while shell腳本中的循環說:[:太多的參數
它正在通過bash中執行:
echo "Specify a directory [Y/N]?"
read ans
while [ [ "$ans" != "Y" ] || [ "$ans" != "y" ] || [ "$ans" != "N" ] || [ "$ans" != "n" ] ]
do
echo "$ans is not valid, please answer [Y/N]"
read ans
done
代碼繼續....
知道爲什麼這是不工作?這似乎是一個非常簡單的循環。
你不能將''[']'表達式相互嵌套在一起。 – chepner
要添加到@ chepner的評論 - 如果你真的需要分組(在這種情況下你不需要 - 見下面的Clement Rey的答案),你需要使用'('和')'(可能有適當的轉義/引用,取決於你的確切語法)。 – twalberg