最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Shell中的${}、##和%%使用范例

 更新時(shí)間:2015年04月24日 10:47:12   投稿:junjie  
這篇文章主要介紹了Shell中的${}、##和%%使用范例,本文給出了不同情況下得到的結(jié)果,需要的朋友可以參考下

今天看一個(gè)腳本文件的時(shí)候有一些地方不太懂,找了一篇文章看了一些,覺(jué)得不錯(cuò),保留下來(lái)。
 
假設(shè)我們定義了一個(gè)變量為:

復(fù)制代碼 代碼如下:

file=/dir1/dir2/dir3/my.file.txt

可以用${ }分別替換得到不同的值:
復(fù)制代碼 代碼如下:

${file#*/}:刪掉第一個(gè) / 及其左邊的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:刪掉最后一個(gè) /  及其左邊的字符串:my.file.txt
${file#*.}:刪掉第一個(gè) .  及其左邊的字符串:file.txt
${file##*.}:刪掉最后一個(gè) .  及其左邊的字符串:txt
${file%/*}:刪掉最后一個(gè)  /  及其右邊的字符串:/dir1/dir2/dir3
${file%%/*}:刪掉第一個(gè) /  及其右邊的字符串:(空值)
${file%.*}:刪掉最后一個(gè)  .  及其右邊的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:刪掉第一個(gè)  .   及其右邊的字符串:/dir1/dir2/dir3/my

記憶的方法為:
復(fù)制代碼 代碼如下:

# 是 去掉左邊(鍵盤(pán)上#在 $ 的左邊)
%是去掉右邊(鍵盤(pán)上% 在$ 的右邊)
單一符號(hào)是最小匹配;兩個(gè)符號(hào)是最大匹配
${file:0:5}:提取最左邊的 5 個(gè)字節(jié):/dir1
${file:5:5}:提取第 5 個(gè)字節(jié)右邊的連續(xù)5個(gè)字節(jié):/dir2

也可以對(duì)變量值里的字符串作替換:
復(fù)制代碼 代碼如下:

${file/dir/path}:將第一個(gè)dir 替換為path:/path1/dir2/dir3/my.file.txt
${file//dir/path}:將全部dir 替換為 path:/path1/path2/path3/my.file.txt

利用 ${ } 還可針對(duì)不同的變數(shù)狀態(tài)賦值(沒(méi)設(shè)定、空值、非空值):

${file-my.file.txt} :假如 $file 沒(méi)有設(shè)定,則使用 my.file.txt 作傳回值。(空值及非空值時(shí)不作處理)
${file:-my.file.txt} :假如 $file 沒(méi)有設(shè)定或?yàn)榭罩?,則使用 my.file.txt 作傳回值。 (非空值時(shí)不作處理)
${file+my.file.txt} :假如 $file 設(shè)為空值或非空值,均使用 my.file.txt 作傳回值。(沒(méi)設(shè)定時(shí)不作處理)
${file:+my.file.txt} :若 $file 為非空值,則使用 my.file.txt 作傳回值。 (沒(méi)設(shè)定及空值時(shí)不作處理)
${file=my.file.txt} :若 $file 沒(méi)設(shè)定,則使用 my.file.txt 作傳回值,同時(shí)將 $file 賦值為 my.file.txt 。 (空值及非空值時(shí)不作處理)
${file:=my.file.txt} :若 $file 沒(méi)設(shè)定或?yàn)榭罩担瑒t使用 my.file.txt 作傳回值,同時(shí)將 $file 賦值為my.file.txt 。 (非空值時(shí)不作處理)
${file?my.file.txt} :若 $file 沒(méi)設(shè)定,則將 my.file.txt 輸出至 STDERR。 (空值及非空值時(shí)不作處理)

${file:?my.file.txt} :若 $file 沒(méi)設(shè)定或?yàn)榭罩?,則將 my.file.txt 輸出至 STDERR。 (非空值時(shí)不作處理)
${#var} 可計(jì)算出變量值的長(zhǎng)度:

${#file} 可得到 27 ,因?yàn)?dir1/dir2/dir3/my.file.txt 是27個(gè)字節(jié)
[/code]

相關(guān)文章

  • Linux幫助和用戶管理命令

    Linux幫助和用戶管理命令

    這篇文章主要介紹了Linux幫助和用戶管理命令,需要的朋友可以參考下
    2017-10-10
  • Shell腳本實(shí)現(xiàn)apache日志中的狀態(tài)碼分析

    Shell腳本實(shí)現(xiàn)apache日志中的狀態(tài)碼分析

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)apache日志中的狀態(tài)碼分析,本文先是介紹了按天切割日志的方法,然后給出了分析訪問(wèn)狀態(tài)碼的腳本,需要的朋友可以參考下
    2014-12-12
  • bash獲取當(dāng)前路徑示例

    bash獲取當(dāng)前路徑示例

    這篇文章主要介紹了bash獲取當(dāng)前路徑示例,需要的朋友可以參考下
    2014-04-04
  • Shell編程之正則表達(dá)式與文本怎么用

    Shell編程之正則表達(dá)式與文本怎么用

    我們經(jīng)常在寫(xiě)Shell腳本的時(shí)候,需要判斷一個(gè)變量名、函數(shù)名或者文件名是否符合命名規(guī)范,下面這篇文章主要介紹了Shell編程之正則表達(dá)式與文本怎么用的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-10-10
  • Shell中sed編輯器的具體使用

    Shell中sed編輯器的具體使用

    sed是一種流編輯器,sed編輯器可以根據(jù)命令來(lái)處理數(shù)據(jù)流中的數(shù)據(jù),本文就來(lái)介紹一下Shell中sed編輯器的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Linux實(shí)現(xiàn)文件定期本地備份/異地備份/刪除備份的腳本

    Linux實(shí)現(xiàn)文件定期本地備份/異地備份/刪除備份的腳本

    數(shù)據(jù)備份的意義就在于,當(dāng)受到網(wǎng)絡(luò)攻擊、入侵、電源故障或者操作失誤等事故的發(fā)生后,可以完整、快速、簡(jiǎn)捷、可靠地恢復(fù)原有系統(tǒng)。本文為大家準(zhǔn)備了文件定期本地備份/異地備份/刪除備份的腳本,希望對(duì)你們有所幫助
    2022-10-10
  • 淺談vim的四種模式及模式切換

    淺談vim的四種模式及模式切換

    下面小編就為大家?guī)?lái)一篇淺談vim的四種模式及模式切換。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • 一天一個(gè)shell命令 linux好管家--磁盤(pán)--df命令詳解

    一天一個(gè)shell命令 linux好管家--磁盤(pán)--df命令詳解

    這篇文章主要介紹了一天一個(gè)shell命令 linux好管家--磁盤(pán)--df命令詳解 ,需要的朋友可以參考下
    2016-06-06
  • Linux curl命令詳解

    Linux curl命令詳解

    這篇文章主要為大家詳細(xì)介紹了Linux curl命令的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Linux中的Syslog命令

    Linux中的Syslog命令

    syslog是Linux系統(tǒng)默認(rèn)的日志守護(hù)進(jìn)程,默認(rèn)的syslog配置文件是/etc/syslog.conf文件。接下來(lái)通過(guò)本文給大家分享Linux中的Syslog命令,感興趣的朋友一起看看吧
    2017-09-09

最新評(píng)論

宜宾市| 龙泉市| 股票| 伊春市| 四平市| 衡阳市| 察雅县| 东乡县| 文昌市| 莒南县| 平原县| 垣曲县| 宿迁市| 晋江市| 泉州市| 马鞍山市| 托克逊县| 如东县| 宣城市| 余江县| 洪洞县| 静安区| 财经| 郎溪县| 安溪县| 新绛县| 抚顺市| 化隆| 海宁市| 曲周县| 库车县| 沅江市| 澄迈县| 吕梁市| 江安县| 长宁区| 和田县| 青州市| 达日县| 石渠县| 侯马市|