
shell
文章平均质量分 74
zhangbg
这个作者很懒,什么都没留下…
展开
-
${}的妙用
转自chinaunix假設我們定義了一個變量為:file=/dir1/dir2/dir3/my.file.txt我們可以用 ${ } 分別替換獲得不同的值:${file#*/}:拿掉第一條 / 及其左邊的字串:dir1/dir2/dir3/my.file.txt${file##*/}:拿掉最後一條 / 及其左邊的字串:my.file.txt${file#*.}:拿掉第一個 . 及其左邊的字串:file.txt${file##*.}:拿掉最後一個 . 及其左邊的字串:txt${file%/*}:拿掉最後條原创 2011-03-12 22:12:00 · 4323 阅读 · 0 评论 -
字符串处理的一些技巧
<br />转自chinaunix<br />http://bbs.chinaunix.net/thread-201843-1-1.html<br />得到长度%x="abcd"#方法一%expr length $x4# 方法二%echo ${#x}4# 方法三%expr "$x" : ".*"4# expr 的帮助# STRING : REGEXP anchored pattern match of REGEXP in STRING复制代码<br /><br /><br />查找子串%expr ind原创 2011-03-12 22:28:00 · 283 阅读 · 0 评论 -
$@ 與 $* 差在哪?
<br /> 转自chinaunix <br /><br />要說 $@ 與 $* 之前,需得先從 shell script 的 positional parameter 談起...<br />我們都已經知道變量(variable)是如何定義及替換的,這個不用再多講了。<br />但是,我們還需要知道有些變量是 shell 內定的,且其名稱是我們不能隨意修改的,<br />其中就有 positional parameter 在內。<br /><br />在 shell script 中,我們可用 $0, $原创 2011-03-12 23:14:00 · 669 阅读 · 0 评论 -
for, while 與 until 差在哪
<br /> for what? while 與 until 差在哪? <br /><br />終於,來到 shell 十三問的最後一問了... 長長吐一口氣~~~~<br /><br />最後要介紹的是 shell script 設計中常見的"循環"(loop)。<br />所謂的 loop 就是 script 中的一段在一定條件下反覆執行的代碼。<br />bash shell 中常用的 loop 有如下三種:<br />* for<br />* while<br />* until<br /><原创 2011-03-13 11:54:00 · 369 阅读 · 0 评论 -
" "(雙引號) 與 ' '(單引號)差在哪
<br />" "(雙引號) 與 ' '(單引號)差在哪? <br /><br />還是回到我們的 command line 來吧...<br />經過前面兩章的學習,應該很清楚當你在 shell prompt 後面敲打鍵盤、直到按下 Enter 的時候,<br />你輸入的文字就是 command line 了,然後 shell 才會以行程的方式執行你所交給它的命令。<br />但是,你又可知道:你在 command line 輸入的每一個文字,對 shell 來說,是有類別之分的呢?<br /><br原创 2011-03-13 13:36:00 · 650 阅读 · 0 评论 -
Regular Expression
<br />转自chinaunix<br /> <br />[^ ] 跟 [! ] 差在哪?<br /><br />這個問題等了好久都沒人出來補充, 而我呢, 也被追殺了好幾回... ^_^<br />趁著今晚有一點空閒, 趕快將此樁心事做一了結吧...<br /><br />這道題目說穿了, 就是要探討 Wildcard 與 Regular Expression 的差別的.<br />這也是許多初學 shell 的朋友很容易混亂的地方.<br />首先, 讓我們回到十三問之第 2 問, 再一次將我們提到原创 2011-03-13 17:04:00 · 574 阅读 · 0 评论 -
IFS
1、如果我没保存原IFS,怎么用语句直接设置IFSIFS=" /n/t"这样设对吗,是恢复默认的吗??答案:1) 你可先將 IFS 存起來: old_IFS="$IFS"要取回時再設 IFS="$old_IFS"(記的雙引號一定要設哦)2、我看说明中有:IFS=IFS=;是一样的意思,我不明白既然一样为什么要用第二种形式呢??有什么特殊意义吗??还是仅用来区别与IFS=";"的不同。第二种形式中的分号怎么解释??答案:若有兩個 command 打在同一行就用到3、默认IFS时如果A=" aaa"ech原创 2011-03-13 17:38:00 · 876 阅读 · 0 评论 -
sed识别regular expression
小弟在sed使用中,对正则表达式有几个地方犯迷糊,为了彻底弄明白,试验之…… 特将结果呈与各位,请师兄们批评指正!也让初学者少走弯路。虽说有些问题在明白之后,感觉很简单,贴出来好像没必要;但在明白之前,的确很让人糊涂,所以还是决定贴出来。 In basic regular expressions the metacharacters ?, +, {, |, (, and ) lose their special meaning; instead use the backslashed versions /?原创 2011-03-13 18:17:00 · 12386 阅读 · 0 评论 -
$(( )) 的用途
<br />转自chinaunix<br /> <br />在 bash 中,$(( )) 的整數運算符號大致有這些:<br />+ - * / :分別為 "加、減、乘、除"。<br />% :餘數運算$ a=5; b=7; c=2$ echo $(( a+b*c ))19$ echo $(( (a+b)/c ))6$ echo $(( (a*b)%c))1<br />在 $(( )) 中的變量名稱,可於其前面加 $ 符號來替換,也可以不用,如:<br />$(( $a + $b * $c)) 也可得到 1原创 2011-03-12 22:53:00 · 357 阅读 · 0 评论