當前位置:首頁 » 編程軟體 » shell腳本條件判斷

shell腳本條件判斷

發布時間: 2023-05-07 22:38:36

㈠ Shell 腳本 if 判斷後,怎麼終止當前腳本但不退出 shell

代碼如下:

if list then
do something here
elif list then
do another thing here
else
do something else here
fi

EX1:

復制代碼代碼如下:

#!/bin/sh
SYSTEM=`uname -s` #獲取操作系統類型,我本地是linux
if [ $SYSTEM = "Linux" ] ; then #如果是linux的話列印linux字元串
echo "Linux"
elif [ $SYSTEM = "FreeBSD" ] ; then
echo "FreeBSD"
elif [ $SYSTEM = "Solaris" ] ; then
echo "Solaris"
else
echo "What?"
fi #ifend

基本上和其他腳本語言一樣。沒有太大區別。不過值得注意的是。[]裡面的條件判斷。

㈡ shell腳本中的if中多條件語句如何寫。

可以使用 if-elif-else 語法來寫多條件語句。

1、首先要理解if-else的基本用法,if條件+then操作+else操作+fi閉合,書寫方法如下:

2、 shell語法中[[ ]]和[ ]的主要區別

(1) [ ] 實際上是bash 中 test 命令的簡寫。即所有的 [ expr ] 等於 test expr。
對 test 命令來說, 用 -eq 要進行數字比較,而你此時傳入字元串,就報錯了。


(2) [[ ]] 是內置在shell中的一個命令,它比test強大的多。支持字元串的模式匹配(使用=~操作符時甚至支持shell的正則表達式)。邏輯組合可以不使用test的-a,-o而使用&& ||。

㈢ 關於linux,shell腳本中怎樣判斷文件是否有內容

可以用「test 條件表達式」進行測試,如:test -f /etc/fstab 測試文件/etc/fstab文件是否存在

-e File 如果文件File存在(Exist),則為True
-s File 如果文件File存在且文件大小(Size)大於零,則為True
-f File 如果文件File存在且是普通文件(File),則為True
-d File 如果文件File存在且是目錄(Directory),則為True
-b File 如果文件File存在且是塊(Block)特殊文件,則為True
-c File 如果文件File存在且是字元(Character)特殊文件,則為True
-L File 如果文件File存在且是符號鏈接(Link)文件,則為True
-r File 如果文件File存在且是可讀的(Readable),則為True
-w File 如果文件File存在且是可寫的(Writable),則為True
-x File 如果文件File存在且是可執行的(Executable),則為True
-O File 如果文件File存在且屬於當前用戶(Owner),則為True
-G File 如果文件File存在且屬於當前用戶組(Group),則為True
File1 -nt File2 如果文件File1新於(Newer Then) File2,則為True
File2 -ot File2 如果文件File1舊於(Older Then) File2,則為True

㈣ linux shell腳本判斷某個文件的大小,符合條件則備份並重命名

cat test.sh
#!/bin/sh
file=$1
file_size=` $file | awk '{print $2}'`
if [ $file_size -ge 10485760 ]
then
cp -p $file $file-bak
fi
chmod +x test.sh
./test.sh 1.txt
逐行解釋
1.
查看腳本文件test.sh
2.
定義腳本默認用sh執行
3.
將文件路徑賦予file變數。$1
表示位置變數即下面的1.txt
4.
計算文件大小並賦予file_size變數
5.
如果文件大小大於等於10m.
10485760為10m,-ge為大於等於。
6.
if語法關鍵字
7.
將文件重命名備份
8.
if語法關鍵字
9.
空行
10.
賦予腳本test.sh可執行許可權
11.
執行腳本,輸入位置變數1.txt.

㈤ 編寫Shell腳本---接受、判斷用戶參數

[TOC]

如果想查看當前所在工作路徑並列出當前目錄下所有的文件及屬性信息,實現這個功能的腳本如下:

Shell腳本文件的名稱可以任意,但為了避免被誤以為是普通文件,建議將 .sh 後綴加上,以表示是一個腳本文件
在上面的 example.sh 腳本中出現了三種不同的元素:

執行腳本有兩種方式:

各變數的作用:

用測試語句測試一個文件是否為目錄,然後通過 Shell 解釋器內設 $? 變數顯示上一條命令的返回值

在Shell終端中邏輯「與」的運算符號是 && ,它表示當前面的命令執行成功後才執行後面的命令

等號兩邊必須要有空格,才能進行邏輯等於

它表示把條件測試中的判斷結果取相反值

整數比較運算符僅對數字操作,且不能使用等號、大於號、小於號來判斷。因為等號與賦值命令符沖突,大於號和小於號分別與輸出重定向和輸入重定向命令符沖突。因此一定要使用規范的整數比較運算符進行操作。

示例:使用 free -m 命令查看內存使用量情況(單位MB),然後通過 grep Mem: 命令過濾出剩餘內存量的行,使用 awk'{print $4}' 命令只保留第四列,最後用 FreeMem=`語句` 的方式把語句內執行結果復制給變數

示例1 :判斷String變數是否為空,進而判斷是否定義了這個變數

示例2 :引入邏輯運算符,判斷語系LANG

㈥ shell腳本中: if [ -f /FileA -a -O /FileB ]; then 語句中判斷條件怎麼理解,邏輯關系是什麼

-a是and,左右條件兩者都成立
-o是or,左右條件任意一條成立

熱點內容
linux讀u盤 發布:2024-05-02 11:49:37 瀏覽:782
android圖片點擊全屏 發布:2024-05-02 11:48:55 瀏覽:431
androidmvc和 發布:2024-05-02 11:48:49 瀏覽:656
兩位數密碼要試多少次能試出來 發布:2024-05-02 11:30:59 瀏覽:689
ae腳本插件表達式 發布:2024-05-02 11:26:45 瀏覽:267
手機電腦通用的伺服器 發布:2024-05-02 11:25:26 瀏覽:839
安卓b站賬號如何在ios登陸 發布:2024-05-02 11:20:29 瀏覽:198
微信加密碼鎖怎麼設置 發布:2024-05-02 11:17:24 瀏覽:585
四川伺服器託管雲空間雲主機 發布:2024-05-02 11:04:28 瀏覽:962
手機app重編譯 發布:2024-05-02 11:01:40 瀏覽:537