shell if 學習

if 表達式: shell


if 條件
then
    command
else
    command
fi
另外一種寫法:



[ -f "~/test.sh" ] && echo "test.sh is ecisted"
shell 的 if 與 C 語言 if 的區別:


【if xx then】 shell then是xx執行結果爲0執行,c是執行結果不爲0執行 函數

【if [i -ne 0]】【if (i)】 整數爲0判斷,shell與c spa

【if [ str ]】【if (strlen == NULL || strlen(str) == 0)】字符串爲空判斷,shell與c code

if特性: ci

if支持多條command以及函數執行的返回值判斷 字符串

if command == command+if $? ------- if [ $? -eq 0 ] class

if的條件表達式: test

文件: file

if [ -f file ] 文件存在判斷 command

if [ -d ... ] 目錄存在判斷

if [ -s file ] 文件存在且不爲空判斷

if [ -r file ] 文件存在可讀判斷

if [ -w file ] 文件存在可寫判斷

if [ -x file ] 文件存在可執行判斷

整數:

if [ a -eq b ] a==b判斷

if [ a -ne b ] a!=b判斷

if [ a -ge b ] a>=b判斷

if [ a -gt b ] a>b判斷

if [ a -le b ] a<=b判斷

if [ a -lt b ] a<b判斷

字符串:

if [ $a = $b ] 字符串a等於字符串b

if [ $a != $b ] 字符串a不等於字符串b

if [ -n $a ] 字符串a非空

if [ -z $a ] 字符串a爲空

if [ $a ] 字符串a非空

表達式須要帶$符號

-eq -ne -ge -gt -le -lt 只能用於整數

=用於等於判斷時須要兩邊加空格

shell沒有<或者>,只有-eq -ge -le -ht -lt

邏輯非!,邏輯與 -a,邏輯或 -o

相關文章
相關標籤/搜索