国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

linux shell 常用腳本語句語法收集

2020-06-13 12:38:13
字體:
供稿:網(wǎng)友
linux shell常用腳本語句語法收集,1shell中的if語句語法,大多數(shù)情況下,可以使用測試命令來對條件進(jìn)行測試。
 
 
1shell中的if語句語法 
我發(fā)現(xiàn)有時候等于是用eq表示,有時候用=標(biāo)準(zhǔn),不明白 
============== 
eq數(shù)值 
=字符串!!! 
============== 
可以看看man test 
============== 
流程控制 

if 表達(dá)式 如果條件為真則執(zhí)行then后面的部分: 
if .... 
then 
.... 
elif .... 
then 
.... 
else 
.... 
fi 
大多數(shù)情況下,可以使用測試命令來對條件進(jìn)行測試。比如可以比較字符串、判斷文件是否存在及是否可讀等等… 
通常用 [ ] 來表示條件測試。注意這里的空格很重要。要確保方括號的空格。 
[ -f somefile ] :判斷是否是一個文件 
[ -x /bin/ls ] :判斷/bin/ls是否存在并有可執(zhí)行權(quán)限 
[ -n $var ] :判斷$var變量是否有值 
[ $a = $b ] :判斷$a和$b是否相等 
============== 
今天看到一本書,上面說if語句中如果用=,<,>等比較符號是,應(yīng)該寫在括號中,如果是用-eq,-lt等就應(yīng)該寫在[ ]中,是這樣嘛?? 
============== 
這應(yīng)該是針對 ksh/bash 的,因?yàn)樗鼈兌紝υ瓉淼膕h進(jìn)行了擴(kuò)展,可以直接使用 
< > = 來進(jìn)行數(shù)值判斷,但是就象你提到的,要寫在 (( )) 中。 
============== 
if 之后的判斷是test語法,而 
if [表達(dá)式] 和 
if test 表達(dá)式 
是等價的 
++++++++++++++++++++++++++++++++++++ 
test命令用法: 
1)判斷表達(dá)式 
if test (表達(dá)式為真) 
if test !表達(dá)式為假 
test 表達(dá)式1 –a 表達(dá)式2 兩個表達(dá)式都為真 
test 表達(dá)式1 –o 表達(dá)式2 兩個表達(dá)式有一個為真 

2)判斷字符串 
test –n 字符串 字符串的長度非零 
test –z 字符串 字符串的長度為零 
test 字符串1=字符串2 字符串相等 
test 字符串1!=字符串2 字符串不等 

3)判斷整數(shù) 
test 整數(shù)1 –eq 整數(shù)2 整數(shù)相等 
test 整數(shù)1 –ge 整數(shù)2 整數(shù)1大于等于整數(shù)2 
test 整數(shù)1 –gt 整數(shù)2 整數(shù)1大于整數(shù)2 
test 整數(shù)1 –le 整數(shù)2 整數(shù)1小于等于整數(shù)2 
test 整數(shù)1 –lt 整數(shù)2 整數(shù)1小于整數(shù)2 
test 整數(shù)1 –ne 整數(shù)2 整數(shù)1不等于整數(shù)2 

4)判斷文件 
test File1 –ef File2 兩個文件具有同樣的設(shè)備號和i結(jié)點(diǎn)號 
test File1 –nt File2 文件1比文件2 新 
test File1 –ot File2 文件1比文件2 舊 
test –b File 文件存在并且是塊設(shè)備文件 
test –c File 文件存在并且是字符設(shè)備文件 
test –d File 文件存在并且是目錄 
test –e File 文件存在 
test –f File 文件存在并且是正規(guī)文件 
test –g File 文件存在并且是設(shè)置了組ID 
test –G File 文件存在并且屬于有效組ID 
test –h File 文件存在并且是一個符號鏈接(同-L) 
test –k File 文件存在并且設(shè)置了sticky位 
test –b File 文件存在并且是塊設(shè)備文件 
test –L File 文件存在并且是一個符號鏈接(同-h) 
test –o File 文件存在并且屬于有效用戶ID 
test –p File 文件存在并且是一個命名管道 
test –r File 文件存在并且可讀 
test –s File 文件存在并且是一個套接字 
test –t FD 文件描述符是在一個終端打開的轉(zhuǎn)載請注明文章來 

命令行內(nèi)循環(huán): 
a=0 && while [ $a -lt 10 ] ; do echo $a && a=`expr $a + 1` ; done

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 大姚县| 禄丰县| 大埔县| 同德县| 保定市| 察雅县| 罗平县| 汝南县| 莱芜市| 宣化县| 绥宁县| 麟游县| 咸阳市| 德阳市| 重庆市| 资源县| 镇安县| 腾冲县| 沛县| 黑河市| 肥西县| 屏边| 鸡西市| 南丹县| 霍林郭勒市| 和林格尔县| 泗阳县| 贵州省| 专栏| 唐海县| 新巴尔虎右旗| 论坛| 云南省| 根河市| 郯城县| 神木县| 贵德县| 轮台县| 沧州市| 赤城县| 皮山县|