顯示具有 Shell 標籤的文章。 顯示所有文章
顯示具有 Shell 標籤的文章。 顯示所有文章

2013年3月14日 星期四

Shell Script : 多個條件判斷

在使用 shell script 時,如果要使用 if 判斷句,可以這樣寫

if [ "${name}" = "Jack" ]; then
    echo "I'm Jack"
fi

如果要判斷2個條件時,可以用 && 來同時判斷,但要注意寫法

if [ "${name}" = "Jack" && "${year}" = "30" ]; then
    echo "I'm Jack and I'm 30 years old"
fi

要小心!這樣的寫法是錯的,這不是在寫 C !
要改成


if [ "${name}" = "Jack" ] && [ "${year}" = "30" ]; then
    echo "I'm Jack and I'm 30 years old"
fi

要注意紅色的括號!
因為容易犯這個錯,所以在這裡記下來~

2012年11月13日 星期二

Linux Shell Script 空字串比較

在 shell script 中遇到一件奇怪的事,雖然了解之後也就沒什麼,但是在找問題的過程中,真的是困擾很久。因為問題是出在 Embedded System 的環境上,所以一開始看到的訊息很難猜到它大概位置,只好土法練鋼,一段一段地執行,邊執行邊找問題點。它的訊息是這樣的

sh: : unknown operand

沒有行數,沒有關鍵字元,真是不知道問題在哪!在重開了不知道幾次的機器之後,終於讓我找到問題是什麼!

#Find thd path while SD card plugin
if [ -e /mnt/sd ]; then
       mmc=`ls /mnt/sd`
fi
if [ ${mmc} != "" ]; then
       #Do something
fi