74、shell 小知識兩點,提示符,特殊變數,export

來源:互聯網
上載者:User

1、關於提示符,特殊變數

1)Bash有兩級提示符。第一級提示符是經常見到的Bash在等待命令輸入時的情況,預設值是$符號,PS1為變數值。第二級提示符是當Bash為執行某條命令需要使用者輸入更多資訊時顯示的,預設為>,變數值為PS2。

2)Bash有一些特殊變數,能控制shell以不同的方式工作。例如,變數noclobber能防止在重新導向輸出時意外地覆蓋一個檔案。通過set命令可以設定noclobber變數的有效或無效。set命令有兩個參數:一個是指定變數開(on)或關(off)的選項,一個是特殊變數的變數名。要使某一特殊變數開(有效),用-o選項,要使其關(無效),用+o選項。例如:

$ set -o noclobber // 使noclobber變數開

$ set +o noclobber // 使noclobber變數關

3)ignoreeof變數用來禁止使用ctrl+d來退出shell(ctrl+d不僅用來退出shell,而且可以終止使用者直接輸往標準輸出上的輸入。

$ set -o ignoreeof

4)noclobber變數可以在重新導向輸出時保護已存在的檔案,防止被意外地覆蓋。

5)設定noglob變數後,shell將不擴充檔案名稱中一些特殊的字元或字串。如字元*、?、[]等將不再作為萬用字元。

2、關於export

    使用者登入到Linux系統後,系統將啟動一個使用者shell。在這個shell中,可以使用shell命令或聲明變數,也可以建立並運行shell指令碼程式。運行shell指令碼程式時,系統將建立一個子shell。此時,系統中將有兩個shell,一個是登入時系統啟動的shell,另一個是系統為運行指令碼程式建立的shell。 當一個指令碼程式運行完畢,它的指令碼shell將終止,可以返回到執行該指令碼之前的shell。從這種意義上來說,使用者可以有許多 shell,每個shell都是由某個shell(稱為父shell)派生的。

    在子shell中定義的變數只在該子shell內有效 。如果在一個shell指令碼程式中定義了一個變數,當該指令碼程式運行時,這個定義的變數只是該指令碼程式內的一個局部變數,其他的shell不能引用它,要使某個變數的值可以在其他shell中被改變,可以使用export命令對已定義的變數進行輸出。export命令將使系統在建立每一個新的shell時定義這個變數的一個拷貝。這個過程稱之為變數輸出。

3、使用者可以將每次啟動Bash所需要執行的命令放入初始設定檔案中,最常見的命令就是alias命令和變數定義兩種。系統中的每個使用者在其主目錄中都有個.bash_profile檔案,Bash每次啟動時都將讀取該檔案,其中包含的所有命令都將被執行。

參考

【1】 http://blog.csdn.net/clozxy/article/details/5652275

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.