我想測試兩個變量是否存在,之後我使用「read」創建它。如果用戶只輸入我想要的兩個變量中的一個,則會顯示錯誤。bash中的錯誤 - 一元運算符預期存在-e
有我的代碼:
while true;
do
echo "Saisissez deux variables x et y sous la forme [x y]"
read x y
if [ !-e $x ] || [ !-e $y ] <<<<<< problem ligne
then
echo "Vous devez renseigner deux nombres x et y"
elif [ $x = "." ]
then
exit 0
else
calcul $x $y
fi
done
並沒有當我剛進入一個參數錯誤:
[: !-e: unary operator expected
感謝您的幫助:)
如果你把什麼空間了''之間和'-e '? –
'-e'運算符檢查是否存在具有該名稱的文件。 '!後面需要一個空格!' - shell要求每個命令和參數都是一個單獨的標記(除括號,重定向和其他一些語法細節外)。你也應該大致雙引號的用戶輸入,所以' 「$ X」''親$ x'和' 「$ Y」''親$ y'。 – tripleee
感謝您的回覆:)我試圖檢測用戶是否按下了沒有任何價值的回車鍵。我試圖用-e來防止這一點,但它不工作:/ – toshiro92