Shell理論學習(三)

來源:互聯網
上載者:User

標籤:welcome   使用者登入   

37.調整變數的屬性

  • 唯讀變數:使用readonly命令

    readonly 變數名稱

  • readonly其他用法

    • readonly或readonly -p:顯示目前具有唯讀屬性的變數列表

    • readonly -f 函數名稱:設定該函數式不可修改

    • readonly -a 陣列變數:設定-a後接的變數名是唯讀數組

  • 唯讀變數:使用declare

    650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/59/6F/wKioL1TTCW3xIhENAAM0t-edeCE595.jpg" title="1.PNG" alt="wKioL1TTCW3xIhENAAM0t-edeCE595.jpg" />


38.自訂環境變數

  • 以一般使用者登入時

    650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/59/6F/wKioL1TTC0vAbG9vAADceDIwE4g923.jpg" title="3.PNG" alt="wKioL1TTC0vAbG9vAADceDIwE4g923.jpg" />

  • 以系統管理員的角色工作時,環境變數設定檔有三個

    • /etc/profile

    • /etc/bash.bashrc

    • /etc/skel目錄下的所有檔案

39.Here Document

基本用法:

[[email protected] ~]#  cat >>123.txt<< end> hello > my name is "jack"> welcome to BJ> endYou have new mail in /var/spool/mail/root[[email protected] ~]# cat 123.txt hello my name is "jack"welcome to BJ
  • Here Document也支援變數替換.在輸入的內容中,如果有變數,bash在轉向前,會先替換變數值

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/59/6F/wKioL1TTE92yLp0NAACk8q-GaiE255.jpg" title="4.PNG" alt="wKioL1TTE92yLp0NAACk8q-GaiE255.jpg" />

  • 如何在變數中使用

[[email protected] ~]# Wow=‘Wow,great!‘[[email protected] ~]# m1=$(cat <<HERE> line 1 is good.> They are jack,marry and john.> $WoW> HERE> )[[email protected] ~]# echo $m1line 1 is good. They are jack,marry and john.
  • 如何關閉變數

[[email protected] ~]# m1=$(cat <<‘HERE‘> line 1 is good.> They are jack,marry and john.> $WoW> HERE> )[[email protected] ~]# echo $m1line 1 is good. They are jack,marry and john. $WoW
  • 做多行批註

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/59/73/wKiom1TTFjOwmdmpAADrNum83yA469.jpg" title="5.PNG" alt="wKiom1TTFjOwmdmpAADrNum83yA469.jpg" />

40.如何測試變數是否存在

文法: ${待測變數-預設值}

解釋:判斷待測變數是否存在,如果變數存在,就傳回變數的值,如果沒有就會將預設值傳給待測變數

  • 判斷變數是否存在

[[email protected] ~]# unset myname[[email protected] ~]# r=${myname-‘basher‘}[[email protected] ~]# echo $rbasher
[[email protected] ~]# myname="Jack"[[email protected] ~]# r=${myname-‘basher‘}[[email protected] ~]# echo $rJack
  • 判斷變數是否不存在或者為空白

[[email protected] ~]# myname=[[email protected] ~]# r=${myname:-‘basher‘}[[email protected] ~]# echo $rbasher[[email protected] ~]# unset myname[[email protected] ~]# r=${myname:-‘basher‘}[[email protected] ~]# echo $rbasher
  • 用if判斷

    650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/59/73/wKiom1TTHCOCpQAYAABP65J52yw063.jpg" title="6.PNG" alt="wKiom1TTHCOCpQAYAABP65J52yw063.jpg" />

  • 測試變數是否"不存在"或其值為空白:提示錯誤資訊

文法:${待測變數:?提示資訊}

解釋:判斷變數是否"不存在"或者為"空",如果條件成立,則顯示:?後的提示資訊。並立即停止執行script

拆解運算式:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/59/74/wKiom1TTIDPiB-7bAAEcm389dZM027.jpg" title="7.PNG" alt="wKiom1TTIDPiB-7bAAEcm389dZM027.jpg" />

範例:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/59/74/wKiom1TTIMjgt_e1AAEZHBPM6qQ329.jpg" title="8.PNG" alt="wKiom1TTIMjgt_e1AAEZHBPM6qQ329.jpg" />

本文出自 “Linux革命” 部落格,請務必保留此出處http://kaibinyuan.blog.51cto.com/7304008/1612017

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.