亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發(fā) > Linux Shell > 正文

Shell常見知識 方便想學習linux shell的彭玉

2020-07-27 19:26:20
字體:
供稿:網(wǎng)友

Shell常見知識

一、用戶登陸進入系統(tǒng)后的系統(tǒng)環(huán)境變量

$HOME 使用者自己的目錄
$PATH 執(zhí)行命令時所搜尋的目錄
$TZ 時區(qū)
$MAILCHECK 每隔多少秒檢查是否有新的信件
$PS1 在命令列時的提示號
$PS2 當命令尚未打完時,Shell 要求再輸入時的提示號
$MANPATH man 指令的搜尋路徑

二、特殊變量

$0 這個程序的執(zhí)行名字
$n 這個程序的第n個參數(shù)值,n=1..9
$* 這個程序的所有參數(shù)
$# 這個程序的參數(shù)個數(shù)
$$ 這個程序的PID
$! 執(zhí)行上一個指令的PID
$? 執(zhí)行上一個指令的返回值

三、shell中的變元

* 任意字符串
? 一個任意字符
[abc] a, b, c三者中之一
[a-n] 從a到n的任一字符

四、幾個特殊字符表示

/b 退回
/c 打印一行時沒有換行符 這個我們經(jīng)常會用到
/f 換頁
/r 回車
/t 制表
/v 垂直制表
// 反斜線本身

五、判斷文件的屬性

格式:-操作符 filename
-e 文件存在返回1, 否則返回0
-r 文件可讀返回1,否則返回0
-w 文件可寫返回1,否則返回0
-x 文件可執(zhí)行返回1,否則返回0
-o 文件屬于用戶本人返回1, 否則返回0
-z 文件長度為0返回1, 否則返回0.
-f 文件為普通文件返回1, 否則返回0
-d 文件為目錄文件時返回1, 否則返回0

六、測試字符串

字符串1 = 字符串2 當兩個字串相等時為真
字符串1 != 字符串2 當兩個字串不等時為真
-n 字符串    當字符串的長度大于0時為真
-z 字符串  當字符串的長度為0時為真
字符串 當串字符串為非空時為真

七、測試兩個整數(shù)關系

數(shù)字1 -eq 數(shù)字2 兩數(shù)相等為真
數(shù)字1 -ne 數(shù)字2 兩數(shù)不等為真
數(shù)字1 -gt 數(shù)字2 數(shù)字1大于數(shù)字2為真
數(shù)字1 -ge 數(shù)字2 數(shù)字1大于等于數(shù)字2為真
數(shù)字1 -lt 數(shù)字2 數(shù)字1小于數(shù)字2為真
數(shù)字1 -le 數(shù)字2 數(shù)字1小于等于數(shù)字2為真

八、邏輯測試

-a  與
-o  或
!    非
shell中的特殊字符有
1、$ 美元符
2、/ 反斜杠
3、` 反引號
4、" 雙引號
5、,*,?,[,]

下面我一一舉列說明

一、$符號
1、echo $? 顯示的是上一條指令退出狀態(tài)
2、echo "$?" 效果同上
3、echo '$?' 顯示的是$?
4、echo /$? 顯示的是$?
5、echo "/$?" 顯示的是$?
大家可能已經(jīng)看出 $符號在雙引號中具有特殊意義 雙引號對$符號不起作用而單引號可以將特殊字符的的特殊意義屏蔽掉,使其能顯示為字符本身,反斜杠也可以將特殊字符的特殊含義屏蔽掉,使特殊字符失去特殊含義。

二、/ 反斜杠

反斜杠的作用是將特殊符號字符的特殊含義屏蔽掉,使其還是原字符
A=1234
echo /$A 顯示為$A 如果不加/將顯示為1234
echo /` 顯示為`
echo /" 顯示為雙引號
echo // 顯示為/

三、` 反引號

反引號的功能是命令替換,將反引號中的字符串做為命令來執(zhí)行,我們在用shell編程時經(jīng)常用的到 將系統(tǒng)命令的執(zhí)行結(jié)果賦給一個變量
A=`date`
echo $A 顯示的不是date而是當時的時間串
比如有一文件A的內(nèi)容如下 
ABCDEFG
1234456
abcdefg
B=`cat A|grep 234` #
檢索文件A中含有字符串234的行
echo $B 將顯示為1234456
echo "$B" 將顯示為什么?
echo "/$B" 將顯示為什么?讀者自己試試

四、"雙引號

在系統(tǒng)中有些特殊字符,為避免引用這些特殊字符 往往用雙引號或單引號將這些特殊字符引起來,使其不具有特殊含義。
但有一部分特殊字符在引號中還是具有特殊含義,用雙引號引起來是不起作用的。本文中所列的前四個特殊字符在雙引號中還是特殊字符。為了使其不具有特殊含義一是用單引號引進來二是用/反斜線使其失去作用。
比如我們想原樣輸出這些特殊字符
echo """
echo "$"
echo "/"
echo "`"
以上不是你所期望的結(jié)果,因為雙引號對它們不起作用,你只能這樣才能輸出這些特殊字符的原形
echo '"'
echo '$'
echo '/'
echo '`'

echo "/""
echo "/$"
echo "http://"
echo "/`"
將分別顯示為 " $ / `

五、其它特殊字符

大家注意到,除了前四個特殊字符外,我將其它的特殊字符都放在一塊,這是因為前四個特殊字符在雙引號中還是具有特殊含義,所以單獨拿出來講,除此以外的特殊字符如果你要輸出這些特殊字符的原形,你就可以用雙引號或單引號引起來使其失去特殊含義。
,*,?,[,]對shell有特殊含義 但你可以用雙引號引起來輸入這些原形
一、if
條件語句 
格式:
if 條件表達式
then #當條件為真時執(zhí)行以下語句
命令列表
else #為假時執(zhí)行以下語句
命令列表
fi
if 語句也可以嵌套使用
if
條件表達式1
then
if 條件表達式2
then
命令列表
else
if 條件表達式3
then
命令列表
else
命令列表
fi
fi
else
命令列表
fi
你可以進行多層嵌套 一個if語句一定要跟一個fi 表示該層條件結(jié)束否則會造成語法錯誤結(jié)合前面講的 舉例如下:
這里先講一個條件語句中用到的命令test 表示測試test后面的條件是否為真
if test -f "$1"
then
lpr $1
else
if test -d "$1"
then
cd $1
lpr $1
else
echo "$1不是文件或目錄"
fi
fi
以上的例子還可以改成如下所示
if test -f "$1"
then
lpr $1
elif test -d "$1" #elif 同else if
then
(cd
$1;lpr $1)
else
echo "$1不是文件或目錄"
fi
以上的例子不知您是否看懂是什么意思嗎?
假如我們現(xiàn)在將這個例子保存為prfile
chmod +x prfile
執(zhí)行剛才的程序
./prfile aaa
這個例子是檢查你的輸入的參數(shù)是否是一個文件 如果是就打印 如果是一個目錄 先轉(zhuǎn)目錄再打印 如果即不是文件也不是目錄給出提示
二、多重條件測試語句case
格式:
case 字串 in
模式) 命令列表;;
模式) 命令列表;;
....
esac
多重條件語句是以case
開始以esac結(jié)束 中間可以有多個條件列表 功能是測試字串和和里面的模式有沒有匹配的,有就執(zhí)行里面的命令列表 模式也可以是*號 表示任意字串,每個模式里面的最后要心;;雙引號結(jié)束,否則會發(fā)生語法錯誤。
現(xiàn)舉例如下:
case $1 in
*.c)
cc $1

*.txt)
lpr $1

*)
echo "未知的類型"
esac
假如將以上內(nèi)容保存在文件abc中
chmod +x abc
執(zhí)行 ./abc a.c
將會對文件a.c進行編譯
執(zhí)行 ./abc readme.txt 將會把文件通過打印機
假如我將以上內(nèi)容改一下,你是否會知道它的執(zhí)行結(jié)果?
case $1 in
*)
cc $1

*.txt)
lpr $1

*.c)
echo
"未知的類型"
esac
一. while 循環(huán)
while 命令格式
while 條件表
do
命令表
done
執(zhí)行過程
Shell首先執(zhí)行條件表,如果條件表的最后一條語句的退出狀態(tài)為零,則執(zhí)行盾環(huán)體內(nèi)的命令表,執(zhí)行完后,再檢查條件表,如果退出狀態(tài)為零將繼續(xù)執(zhí)行,如此循環(huán)往復直到條件表的最后一條語句的退出狀態(tài)非零.
退出狀態(tài)為零就是條件為真True.
舉例說明 假如shell文件的內(nèi)容如下:
Sum=0
i=0
while true #true是系統(tǒng)的關鍵詞 表示真
do
i=`expr $i + 1`
Sum=`expr $Sum + $i`
if [ $i = "100" ]
then
break;
fi
done
echo $i $Sum
最后這個程序顯示的是
100 5050
這個程序的運算就是將1到100加起來
下面將這個程序再改動一下
Sum=0
i=0
while [ $i != "100" ]
do
i=`expr $i + 1`
Sum=`expr $Sum + $i`
done
echo $i $Sum
改動后的程序運算結(jié)果和上面是一樣 但程序比上面的要簡練
在這個循環(huán)中還可以以until做為測試條件
它正好與while測試的條件相反,也就是當條件為假時將繼續(xù)執(zhí)行循環(huán)體內(nèi)的語句,否則就退出循環(huán)體,下面還用這個例子.
Sum=0
i=0
until [ $i = "100" ]
do
i=`expr $i + 1`
Sum=`expr $Sum + $i`
done
echo $i $Sum
當i不等于100時循環(huán) 就是當條件為假時循環(huán),否則就退出,而第一個例子是當i不等于100
時循環(huán),也就是測試條件為真時循環(huán).
二.for 循環(huán)
命令格式:
for 變量 in 名字列表
do
命令列表
done
這里的名字列表是一個由空格分隔的字符串列表,shell在執(zhí)行for循環(huán)時每次依次從名字表中取出一個字符串賦給循環(huán)變量作為變量的值.
在寫for語句時,也可以省略in 名字列表部分,這表示用當前的位置參數(shù)來代替這時的名字列表.
面舉個例子,比如在你的電腦中有兩個目錄,一個是aa,一個是bb在這兩個目錄中有5個相同的文件,但其中一個目錄中的一個或多個文件剛剛修改過,現(xiàn)在我忘記剛才改的是那幾個文件
了,那么我靠已知的序碼查找。
程序如下:
for File in a1 a2 a3 a4 a5
do
diff aa/$File bb/$File
done
下面再舉一個不帶名字列表的例子
for
File
do
echo $Filw
done
文件內(nèi)容保存在a.sh中 并可執(zhí)行
我們在執(zhí)行這個shell程序時命令行如下:
a.sh a1 a2 a3 a4 a5
執(zhí)行結(jié)果如下:
a1
a2
a3
a4
a5
大家從這個例子中可以看到命令行的參數(shù)被逐一讀入一次
三.循環(huán)控制語句
break
命令不執(zhí)行當前循環(huán)體內(nèi)break下面的語句從當前循環(huán)退出.
continue
命令是程序在本循體內(nèi)忽略下面的語句,從循環(huán)頭開始執(zhí)行.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
欧洲成人免费视频| 国产主播自拍av| 日韩国产精品久久久久久亚洲| www.久久.com| 亚洲成人中文字幕在线| www天堂在线观看| av一区二区高清| 一区二区三区日本久久久| 九九亚洲视频| 国产成人精品免费| 亚洲国产精品天堂| 亚洲综合精品伊人久久| 国产成人精品白浆久久69| 欧美韩日亚洲| 亚洲日韩欧美一区二区在线| 欧美最猛黑人猛交69| 欧美在线观看网址综合| 在线精品亚洲一区二区| 精品少妇一区二区三区密爱| 欧美人妻一区二区| 日韩成人免费视频| 激情综合电影网| 欧美日韩国产首页在线观看| 国产免费黄色| 日韩中文字幕二区| 精品午夜一区二区三区在线观看| 日韩视频免费观看高清| 免费黄网站观看| 夜夜嗨aⅴ免费视频| 米奇精品一区二区三区在线观看| 国产91精品黑色丝袜高跟鞋| 黄色在线免费观看| 少妇精品高潮欲妇又嫩中文字幕| 2019中文字幕视频| 盗摄系列偷拍视频精品tp| 18av千部影片| 国产传媒第一页| 欧美国产日韩精品免费观看| 欧美成人久久久免费播放| 夜夜躁日日躁狠狠久久88av| 亚洲线精品一区二区三区| 日韩欧美一级精品久久| 成人在线视频国产| 五月天亚洲综合小说网| 午夜欧美大尺度福利影院在线看| 97在线精品国自产拍中文| 国产麻豆精品入口在线观看| 久久久精品视频网站| 欧美性猛交xxxx免费看蜜桃| 成人v精品蜜桃久久一区| 国产一区你懂的| 欧美成人三级在线| 精品调教chinesegay| 丝袜视频国产在线播放| 日本在线观看天堂男亚洲| 永久免费av网站| 欧美韩日一区二区三区四区| 91香蕉国产线在线观看| 日韩中文字幕一区二区| 亚洲成人一区在线观看| 五月天精品一区二区三区| 国产伦精品一区二区三区妓女下载| 曰本一区二区三区视频| 久久久精品免费网站| 五月婷婷深爱五月| 亚洲午夜伦理| 在线免费观看av网址| 日韩综合一区二区| 日韩经典中文字幕在线观看| 91免费观看网站| 有坂深雪av一区二区精品| 国产视频一区在线观看一区免费| 欧美在线中文字幕| 国产日产欧美精品一区二区三区| 春意影院午夜免费入口| 男女免费观看在线爽爽爽视频| 日韩a∨精品日韩在线观看| 玖玖精品一区| 欧美一级免费大片| av在线成人| 日韩av片永久免费网站| 在线观看成人免费视频| 亚洲精品中文字幕女同| 欧美精品免费视频| 日韩在线视频观看免费| 中文字幕在线观看| 国产这里有精品| 五月天婷婷色综合| 免费在线观看成年人视频| 丁香六月天婷婷| av男人天堂av| 精国产品一区二区三区a片| 国产精品xnxxcom| 免费不卡av在线| 免费永久在线观看黄网| 色资源网在线观看| 性一交一乱一精一晶| 99热这里只有精品在线| 亚洲色图20p| 国产成人无遮挡在线视频| 日本一区二区三区中文字幕| 欧美a级理论片| 国产精品久久看| 亚洲黄色精品| 一道本视频在线观看| 国产精品久久久久久久久晋中| 亚洲美女高潮久久久| 宅男66日本亚洲欧美视频| 中文在线a天堂| 亚洲日本青草视频在线怡红院| 色琪琪综合男人的天堂aⅴ视频| 国产精品熟女视频| 美女三级福利视频| 中文字幕色婷婷在线视频| 色视频在线观看福利| 美女视频网站在线观看| av在线女优影院| 国产成人免费av电影| 成人自拍小视频| 亚洲另类色综合网站| 91精品福利在线一区二区三区| 国产女人爽到高潮a毛片| 国产v亚洲v天堂无码久久久| 成人国内精品久久久久一区| 久久久久免费看| 国产乱码精品一区二区三| 嫩草视频在线免费观看| 澳门av一区二区三区| 教室别恋欧美无删减版| 精品无码av无码免费专区| 天天夜碰日日摸日日澡性色av| 日韩精品aaa| 97人人澡人人爽人人模亚洲| 成人影院一区二区三区| 欧美美女激情18p| 国产视频www| 欧美猛男gaygay网站| 久久亚洲精品国产亚洲老地址| 亚洲欧美精品在线观看| 天堂一区二区三区| av一区在线观看| 69av视频在线播放| 538任你躁精品视频网免费| 日本成年人网址| 伊人久久大香线蕉综合网站| 国产精品视频一| 电影eeuss影院www| 久久久爽爽爽美女图片| 无码av免费精品一区二区三区| 欧美精品一区二区蜜臀亚洲| 久久爱www.| 国产精品臀控福利在线观看| 中文字幕中文字幕在线十八区| 亚洲欧洲美洲av| av资源久久| 国产精品老女人视频| xxx欧美老熟| 日韩久久久久| 日韩欧美视频网站| 精品国产一区二区三区麻豆免费观看完整版| 九色综合国产一区二区三区| 欧美图片一区二区三区| 亚洲青青青在线视频| 国产美女无遮挡网站| 亚洲人成伊人成综合网小说| www.国产自拍| 成人免费网站视频www| 亚洲精品久久久久久久久久久久久| 超碰在线免费播放| 在线观看二区| 国产免费一区二区三区四在线播放| 亚洲人成网站色ww在线| 91精品久久久久久蜜桃| 香蕉加勒比综合久久| 久久精品系列| 欧美一区二区三区| 在线观看国产精品视频| 国产一区二区精品免费| av日韩一区| 国产一级特黄视频| 国产一区国产二区国产三区| yiren22亚洲综合伊人22| 精品无码久久久久久久久| 日本中文字幕二区| 亚洲校园欧美国产另类| 久久天堂影院| 91在线视频成人| 亚洲精品久久一区二区三区777| 国产三级午夜理伦三级| www.aqdy爱情电影网| 九色porny自拍视频在线播放| √新版天堂资源在线资源| av在线私库| 欧洲毛片视频| 欧美h视频在线观看| 99久久99久久久精品齐齐| 婷婷国产成人久久精品激情| 精品国产免费久久久久久尖叫| 极品久久久久久久| 中文在线资源观看网站视频免费不卡| 欧美亚洲自拍偷拍| 中文字幕不卡每日更新1区2区| 日本一区二区三区国色天香| 亚洲精品怡红院| 天堂在线中文资源| 亚洲超碰在线观看| 伦av综合一区| 久久精品免费播放| 欧美熟妇另类久久久久久多毛| 久久这里只有精品99| 亚洲成人av中文字幕| 日韩美女视频在线观看| 99pao成人国产永久免费视频| 日韩美一区二区三区| 日本h片在线观看| 91在线丨porny丨国产| 免费动漫网站在线观看| 9i精品福利一区二区三区| 久久在线免费观看| 国产日韩欧美电影在线观看| 二人午夜免费观看在线视频| 欧美自拍偷拍午夜视频| 国产欧美日韩第一页| 一本一道久久a久久精品蜜桃| 国严精品久久久久久亚洲影视| 欧美在线免费视频| 性久久久久久久久久久久久久| 欧洲成人一区二区三区| 国产色99精品9i| 欧美亚洲国产视频小说| 日本老熟妇毛茸茸| 日产欧产美韩系列久久99| 四虎精品一区二区永久在线观看| 欧美日韩亚洲激情| 日韩尤物视频| 中文字幕久精品免| 91麻豆免费视频| 久久综合色天天久久综合图片| 日韩欧美自拍| 欧美男体视频| 成人免费网站入口| 天天躁日日躁狠狠躁伊人| 免费在线观看一级片| 99久久人妻无码中文字幕系列| 国产一二三在线观看| 第一次破处视频| 日本三级在线电影| 欧美成年人视频| 五月婷婷在线播放| 性8sex亚洲区入口| 欧美精品在欧美一区二区少妇| 欧美成人福利在线观看| 男人捅女人免费视频| 中文字幕av在线| 精品欧美日韩一区二区| 欧美午夜不卡影院在线观看完整版免费| 国产日韩欧美精品在线观看| 国产美女精品写真福利视频| 好吊色一区二区三区| 日韩成人av网站| 粉嫩欧美一区二区三区高清影视| 激情视频极品美女日韩| 欧美黑人xxxx猛牲大交| 四虎永久免费在线观看| 成人一区二区av| 欧美日韩中文在线观看| 手机看片福利永久国产日韩| 中文字幕在线久热精品| 在线观看视频一区二区欧美日韩| 狠狠爱成人网| 国产日韩精品视频| 久久午夜夜伦鲁鲁片| 日韩欧美视频一区二区三区| 久久久com| 黄色福利视频网站| 污软件在线观看| 日韩中文字幕一区二区高清99| 日韩欧美高清在线视频| 中文字幕乱码人妻综合二区三区| 热99精品只有里视频精品| 狠狠色狠狠色综合人人| 黄色网页大全| 蜜臀精品久久久久久蜜臀| 99亚洲视频| 大肉大捧一进一出好爽视频| 国产精品久久久久久久久免费丝袜| 欧美日韩一区中文字幕| 免费在线亚洲| 动漫h在线观看| 在线观看免费p片视频网站地址| 国产日韩欧美在线观看视频| 亚洲国产精品日韩| 色婷婷av一区二区三区大白胸| 国产乱码精品一区二区三区亚洲人| 大地资源第二页在线观看高清版| av小片在线| 日韩欧美999| 国产日韩三级在线| 制服丝袜中文字幕一区| www.com在线观看| 国产精品欧美久久久久无广告| 国产专区欧美精品| 精品视频在线你懂得| 欧美mv日韩| 国产欧美自拍视频| 浴室偷拍美女洗澡456在线| 91精品中文在线| 欧美电视剧在线看免费| 欧美知名女优| 日韩午夜激情电影| 欧美另类高清zo欧美| 在线亚洲精品自拍| 91蜜桃婷婷狠狠久久综合9色| 激情欧美日韩一区二区| 91九色蝌蚪在线| 国产精品欧美日韩一区二区| 偷拍精品一区二区三区| 青青青爽久久午夜综合久久午夜| 天堂在线中文网| 最近中文字幕免费在线观看| 欧美+日本+国产+在线a∨观看| 欧美另类网站| 久久丁香综合五月国产三级网站| 亚洲自拍偷拍区| 色吧亚洲日本| 麻豆视频在线看| 国产精品-区区久久久狼| 卡通动漫精品一区二区三区|