shell 雜碎命令整理

來源:互聯網
上載者:User

標籤:style   blog   color   ar   strong   for   檔案   div   sp   

1. echo 參數

  • -n 不換行(預設換行)
  • -e 使得轉移字元有效

例子

ss=‘abc\n‘echo -e  $ssabc           #換行起作用echo $ssabc

2. 賦值時候=左右兩側不要帶空格

a = "hello" #錯誤a="hello"

3. shell運算

b=4let "c=$b+1"echo $c

4. 單引號和雙引號區別

單引號和雙引號一樣都是字串的界定符,而不是字元的界定符。單引號用於保持引號內所有字元的字面值,即使引號內的\和斷行符號也不例外。

舉例

 bb="hello"echo "$bb"helloecho ‘$bb‘$bb

注意ecoh -e ‘$bb‘ 結果還是$bb,因為‘$bb‘就是字面值,不會轉義。

5. 數組

5.1 聲明、定義

  • array[‘a‘]=1
  • array=(‘a‘, ‘b‘)
  • array=([1]=‘a‘ [2]=‘b‘)

5.2 訪問

  • echo ${array[‘a‘]}
  • echo ${array[0]}

5.3 遍曆

for var in ${array[*]}do    echo $vardone

5.4 數組長度

num=${#array[@]}    

對比:擷取字串長度:num=${#str}

6. Linux shell實現多線程

for ((i=0;i<5;i++)); do{    sleep 3;    echo "hello" $i}donewait

對比

for ((i=0;i<5;i++)); do{    sleep 3;    echo "hello" $i}&donewait

這個在上面的基礎上多加了一個後台執行&符號,此時5個迴圈任務並發執行,最後需要3s多一點的時間(效果非常明顯)。wait的作用是完成後台所有的任務後才往下執行,否則程式本身會等待。

7. 去除一行最後的‘\r‘

字串最後有個‘\r‘是非常噁心的,可以通過tr命令去掉

a="hello\r"echo $a | tr -d ‘\r‘hello\recho $a | tr -d "\r"hello\recho -e $a | tr -d ‘\r‘hello  #轉移字元起作用echo -e $a | tr -d "\r"hello

8. 編譯shell檔案

bash -x ***.sh

+開頭的是編譯的中間過程,不帶+的為正常的輸出。效果非常明顯。 

 

shell 雜碎命令整理

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.