最簡單的腳本:
#!/bin/bash
myarray=("abc" "bcd" "cde")
if ${myaaray[0]} = "abc" ;
then
echo "abc"
fi
我收到:
./a.sh: line 5: =: command not found
uj5u.com熱心網友回復:
那是一個錯字。${myaaray[0]}應該是${myarray[0]}。它被擴展為空,然后讀取為
if = "abc"
到外殼程式,因此錯誤,因為沒有名為=. 此外,分號是一個無用的空陳述句,可以洗掉。只有將then放在同一行上時才需要它:
if command; then
do_something
fi
無論如何,您還需要告訴 shell 您想要一個字串比較,通常是使用該test實用程式。
if test "${myarray[0]}" = "abc"; then
echo "abc"
fi
如果您需要對字串執行一組測驗,也許該case命令很有用:
case "${myarray[0]}" in
(abc) echo "Start of the alphabet";;
(xyz) echo "End of the alphabet";;
(*) echo "Somewhere else";;
esac
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/392372.html
標籤:猛击
上一篇:如何從結果中添加數字?
