麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

Bash Shell腳本學(xué)習(xí)小結(jié)

2019-10-26 18:35:21
字體:
供稿:網(wǎng)友

1.字符截斷:

如果是一般路徑的字符截斷可以用basename和dirname這兩個工具:
basename可以從一個文件路徑中截一個文件名

例如:

代碼如下:
$ basename /home/file.tar
file.tar

dirname可以從一個文件路徑中截到一個目錄路徑
例如:
代碼如下:
$ dirname /home/file.tar
/home

不使用外部工具進(jìn)行字符截斷
bash有自帶的功能來對變量進(jìn)行字符截斷,一般使用"##", "#", "%%", "%", "*" 組合來實現(xiàn)。例如:
代碼如下:
$ string=hellowbashshell
$ echo ${string##*sh}
ell
$ echo ${string#*sh}
shell
$ echo ${string%%sh*}
hellowba
$ echo ${string%sh*}
hellowbash

"#"表示從字符開始部分除去,一旦匹配則立即除去
"##"表示從字符開始部分除去,會搜整個字符串最長的和的匹配來除去
"%"表示從字符結(jié)束的部分除去,一旦匹配成公則立即除去
"%%"表示從字符結(jié)束的部分開始除去,會搜尋整個字符穿中最長的匹配來除去
"*"統(tǒng)配符,一般與“##”或"#"聯(lián)用時放在搜索字符串的左邊,例如:${String#*sh}(在sh的左邊),與"%%"或"%"聯(lián)用時會放在匹配字符串的右邊,例如:${String%%sh*}

常用技巧:

在路徑中取文件名:${path##*/}(與basename相同功能)
在路徑中取目錄路徑:${path%/*}(與dirname相同功能)
取文件的擴(kuò)展名:${path##*.}

2.自變量的接收

接收來自命令行傳入的參數(shù),第一個參數(shù)用$1表示,第二個參數(shù)$2表示,。。。以此類推。注意:$0表示腳本文件名。另外一個在shell編程中經(jīng)常用到的是“$@”這個代表所有的參數(shù),。你可以用一個循環(huán)來遍歷這個參數(shù)。如果用java來類比的話,可以把$@看作是man函數(shù)中定義的那個數(shù)組

3.if語句:
格式:
代碼如下:
if [ condition ]
then
    action
fi

注意:“if”和“[”之間需要空格,如果你不空格,shell會報告語法錯誤的。我就被這個浪費了好一陣時間

conditon測試類型對照表

運(yùn)算符描述示例
文件比較運(yùn)算符
-e filename如果 filename存在,則為真 [ -e /var/log/syslog ]
-d filename如果 filename為目錄,則為真 [ -d /tmp/mydir ]
-f filename如果 filename為常規(guī)文件,則為真 [ -f /usr/bin/grep ]
-L filename如果 filename為符號鏈接,則為真
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久精品视频日本 | 国产午夜亚洲精品理论片大丰影院 | 国产一级毛片国语版 | 欧美成年人在线视频 | 久久久激情网 | 国产一区二区三区高清 | 色视频在线播放 | 黄色片在线免费播放 | 欧美一级黄色片免费观看 | 亚洲福利视频52 | 精品一区二区三区日本 | 免费国产在线视频 | 91不雅视频 | 视频久久免费 | 国产精品一区99 | 国产精品视频一区二区三区四区五区 | av不卡免费在线 | 国产精品久久久久久婷婷天堂 | 亚洲成人高清在线观看 | 黄网站在线免费 | 欧美性生交大片 | 日日鲁夜夜视频热线播放 | 日本在线播放一区二区三区 | 国产成人av免费看 | 日本在线视频一区二区三区 | 国产精品久久久久久模特 | 国产精品久久久久永久免费 | 国产精品夜色视频一级区 | 91精品久久久久久久久 | 欧美a级大胆视频 | 欧美日韩国产成人在线 | 国产91小视频在线观看 | 国产精品999在线观看 | 精品国产91久久久久久 | 国产69精品久久久久久久久久 | 圆产精品久久久久久久久久久 | 一级网站片 | 精品国产乱码久久久久久久 | sese在线视频 | 天天夜干 | av资源在线天堂 |