linux怎么修改bash,Linux操作系统中如何对Bash变量内容修改?
我們知道兩種對變量取勝的方法:
echo $HOME echo ${HOME}
在echo ${variable}的方法中,還可以對變量的內容進行修改,只要加上一些字符標志,后面再接著使用比對字符串,就可以修改變量的內容了。假設變量名為:vbird ,并且內容為/home/vbird/testing/testing。
x。sh
◆1 、完整呈現vbird 這個變量:
vbird="/home/vbird/testing/testing。x。sh"
echo ${vbird}
/home/vbird/testing/testing。x。sh
◆2 、在vbird 變量中,從最前面開始比對
若開頭為 /,則刪除兩個/ 之間的所有數據,即 /*/
echo ${vbird##/*/}
testing。
x。sh——刪除了/home/vbird/testing/
echo ${vbird#/*/}
vbird/testing/testing。x。sh——只刪除了/home/而已
------在這兩個例子中,變量名后面如果接了兩個##,表示在##后面的字符串取“最長的”那一段;如果只有一個#,表示取“最小的”那一段。
(自注:“最小的那一段“表示從左到右離第一個字符最近并且和第一個字符相同的字符之間的內容,最長則反之)
◆3 、承上題,如果是從后面開始,刪除/*呢?
echo ${vbird%%/*/}
/home/vbird/testing/testing。
x。sh——都沒有刪除
echo ${vbird%%/*}
--------都被刪除了
echo ${vbird%/*}
/home/vbird/testing ——只刪除 /testing。x。sh部分
在這個例子中要特別注意,那個% 比對的是“最后面那個字符”的意思,所以第一個當然不對,因為vbird 這個變量的內容最后面是h 而不是/。
至于%%/*則是刪除“最長的那個/*”,當然就是全部,而%/* 則是最短的那個。(自注:最短最長同上注,雖然% 表示反向的比對,但需注意的是在${variable} 中輸入的時候仍然按著從左到右的順序,即與變量內容中的字符的順序相同。如下例:
echo ${vbird%t*h}
/home/vbird/testing/tes ——t。
ing。x。sh被刪除了
如果是
echo ${vbird%h*t}
/home/vbird/testing/testing。x。sh——則輸出沒有變化(因為比對都是與第一個字符比,變量內容的第一個字符為h ,而命令中給出的第一個字符為t ,與真實的變量內容不符。
)
◆4。將vbird 變量中的testing 取代為TEST
echo ${vbird/testing/TEST}
/home/vbird/TEST/testing。x。sh
echo ${vbird//testing/TEST}
/home/vbird/TEST/TEST。
x。sh
如果變量后面接的是/ 時,表示后面是進行" 取代" 的工作,而且僅取代“第一個”,如果是//,則表示全部的字符串都取代。
全部
總結
以上是生活随笔為你收集整理的linux怎么修改bash,Linux操作系统中如何对Bash变量内容修改?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java导出excel float_【J
- 下一篇: red hat linux 安装orac