溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

shell腳本編程if語句的使用方法

發(fā)布時間:2021-07-29 18:39:57 來源:億速云 閱讀:224 作者:chen 欄目:開發(fā)技術

本篇內(nèi)容主要講解“shell腳本編程if語句的使用方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“shell腳本編程if語句的使用方法”吧!

我不是研究linux下的東西的,所以這里只對shell腳本的用法做一個介紹,把我自己在使用過程中出現(xiàn)的問題記錄下來,同時也是寫下一些shell腳本語法的規(guī)則,方便以后查看。先來學習一下條件語句if的用法,通過這一個簡單的語法來說明一下shell腳本編程時候的東西。

代碼如下:


#!/bin/sh
echo "please input text1"
read text1
echo "please input text2"
read text2
#判斷字符串等或者是不等只有一個等號
if test $text1 = $text2
then
echo "text1 equals text2"
else
echo "text1 not equals text2"
fi

#判斷字符串是否為空,這里的判斷記得在$text1倆邊加上雙引號
if [ -z "$text1" ]
then
echo "text1 is null"
fi
if [ -n "$text1" ];then
echo "text1 is not null"
fi

#算術比較 text1和text2中的內(nèi)容只能是數(shù)字
if [ "$text1" -eq "$text2" ];then
echo "equal"
elif [ "$text1" -gt "$text2" ];then
echo "great"
elif [ "$text1" -le "$text2" ];then
echo "little and equals"
fi

echo "input a file or not file"
read file
#判斷是文件還是目錄
if [ -d $file ];then
echo "$file is a directory"
elif [ -f $file ];then
echo "$file is a file"
fi
#判斷文件的大小是否為空
if [ -s $file ];then
#echo -n是為了去掉換行符
echo -n "$file'size is not null"
fi

#判斷文件的讀寫權限
if [ -f "$file" ];then
 if [ -r "$file" ];then
 echo "read"
 fi
 if [ -w "$file" ];then
 echo "write"
 fi
 if [ -x "$file" ];then
 echo "exe"
 fi
fi

exit 0

我們一點點的來分析一下這個程序,第一行是一個特殊的注釋語句,在linux的shell下,使用#作為注釋,所以如果你想注釋東西就要以#開頭,第一行的注釋語句是告訴shell執(zhí)行這個shell腳本的時候使用的是/bin/sh這個目錄下的shell。接著使用echo命令來輸出一行語句,echo后邊的字符串最好用雙引號引起來,以后凡是字符串最好都用雙引號引起來,這可以避免一些很難查找到的bug,echo后邊如何加上-n選項,則代表語句輸出以后是不換行的。接著是read命令,這個命令的作用是讀取輸入到變量text1中,在shell腳本中,我們使用變量的時候不需要預先定義,用的時候直接這樣用就可以了。接下來就說到了我們本篇博客要說明的if條件語句了,這個if的語法是if..then..elif..then..else..fi具體的看看代碼,代碼中已經(jīng)有了體現(xiàn),在c語言中我們使用if來判斷的時候都是將判斷語句寫在括號中的,這里的判斷是使用test命令來判斷,你把它理解為在小括號中一樣就可以了,test的判斷可以是對字符串的判斷,對數(shù)值的判斷,對文件目錄等的判斷,這個test可以用[符號來代替,這就是在程序的后邊沒有使用test而是使用[號的原因,[的判斷最后要以]號結尾,判斷語句寫在中括號中,因為[代表的就是test,所以[和后邊的判斷條件有空格。接下來說回來test可以判斷的類型,代碼中顯示對字符串的判斷,注意我們判斷text1和text2相等的時候用的是一個等號,大家c語言習慣了不要忘記是一個等號,對變量的取值采用的是在變量前邊加了$符號,這樣就獲得了變量的值了。同時也要加上雙引號,你不加也許發(fā)現(xiàn)不了錯誤,但是如果輸入是空,也就是直接敲下了回車鍵,這個時候判斷就成了if test = text2,test后邊沒有東西當然不對了,如果加上雙引號是這樣的if test "" = text2,這樣就不會出錯了。其他的關于一些選項,例如-z、-n、-gt、-f、-r等等這些東西每一個都是英文單詞的簡寫,很簡單略過!接下來運行shell程序,使用chmod +x命令賦予可執(zhí)行的權限,然后運行,一切ok!

shell腳本編程if語句的使用方法

到此,相信大家對“shell腳本編程if語句的使用方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI