ShellScript intro how to use if else fi

ShellScript intro how to use if else fi

這篇主要介紹在ShellScripts上的指令if else fi如何使用。

if

1
2
3
4
#!/bin/sh
if [ "$1" = "123" ] then
echo "var is 123"
fi

if else fi

1
2
3
4
5
6
#!/bin/sh
if [ "$1" = "123" ] then
echo "var is 123"
else
echo "var is 456"
fi

if else elseif fi

1
2
3
4
5
6
7
8
#!/bin/sh
if [ "$1" = "123" ] then
echo "var is 123"
elif [ "$1" = "456" ] then
echo "var is 456"
else
echo "var is 789"
fi

- intruction

1
2
3
4
5
6
7
8
-d file : 是目錄回傳 true.
-f file : 是檔案回傳 true.
-r file : 可讀回傳 true.
-s file : 的體積大於 0 (不是空檔案) 回傳 true.
-w file : 可寫入回傳 true.
-x file : 可執行回傳 true.
-n $str : 當 $str1 不是 null, 回傳 true.
-z $str : 當 $str1 是 null, 回傳 true.

判斷指令

1
2
3
4
5
6
7
8
$str1 = $str2 : 判斷 $str1$str2 字串是否相同。
$str1 != $str2 : 判斷 $str1$str2 字串是否不相同。
var1 -eq var2 : var1 等於 var2 回傳 true.
var1 -ne var2 : var1 不等於 var2 回傳 true.
var1 -gt var2 : var1 大於 var2 回傳 true.
var1 -ge var2 : var1 大於或等於 var2 回傳 true.
var1 -lt var2 : var1 小於 var2 回傳 true.
var1 -le var2 : var1 小於或等於 var2 回傳 true.