shell中空格的使用;空格替換;通配符


測試:

test $? -eq 0 && echo "yes" || echo "no"

通配符:

通配符
(1)*:0個或多個連續的字符

(2)?:任何單個字符

(3)[abc]:出現在abc中的任何單個字符

(4)[^abc]:任何在abc中未出現的單個字符

(5){a,b,c}:可以擴展成多個參數,首先擴展為a、再次為b,最后為c

空格替換

將多個空格替換為一個空格
sed 's/[ ][ ]*/ /g' filename
sed -e 's/[[:space:]][[:space:]]*/ /g' filename
將1到10個空格替換為一個空格
sed 's/[ ]\{1,10\}/ /g' filename
去掉多余空格
echo "hello    world" | tr -s '[[:space:]]'
http://www.runoob.com/linux/linux-comm-tr.html
http://wiki.jikexueyuan.com/project/unix/regular-expressions.html

 

空格常見使用:

  • 定義變量時, =號的兩邊不可以留空格
  • 條件測試語句 [ 符號的兩邊都要留空格
  • 條件測試的內容,如果是字符串比較的話, 比較符號兩邊要留空格
  • 如果if 和 then寫在同一行, 那么,注意, then的前面要跟上 ; 號.如果 then 換行寫, 那么也沒問題
  • if 后面一定要跟上 then. 同理elif 后面一定要跟上 then.
  • 命令和其后的參數或對象之間一定要有空格
  • 取變量值的符號'$'和后邊的變量或括號不能有空格

 

反斜杠 backslash-escaped( \ )

反斜杠一般用作轉義字符,或稱逃脫字符,linux如果echo要讓轉義字符發生作用,就要使用-e選項,且轉義字符要使用雙引號 echo -e "\n"
反斜杠的另一種作用,就是當反斜杠用於一行的最后一個字符時,shell把行尾的反斜杠作為續行,這種結構在分幾行輸入長命令時經常使用。

 

http://blog.sina.com.cn/s/blog_4b9eab320102vzuv.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM