bash參考手冊之五(shell變數)續二

來源:互聯網
上載者:User

EMACS

如果Bash在shell啟動時,在環境中發現這個變數的值是 ‘t’,則會認為shell在Emacs shell緩衝區中運行,而禁止行編輯。
ENV
類似於BASH_ENV,在shell以POSIX模式調用時使用。(見Bash POSIX模式)
EUID
目前使用者的數字形式的有效使用者ID。這個變數是唯讀。
FCEDIT
內建命令fc帶-e選項時的預設編輯器。
FIGNORE
冒號分隔的尾碼列表,該列表的內容在執行檔案名稱完成時忽略。一個檔案名稱的尾碼匹配FIGNORE中的一個元素時,則該檔案名稱從匹配檔案名稱列表中排除。樣本值:‘.o:~’。
FUNCNAME
是一個陣列變數,包含當前在執行呼叫堆疊中的所有shell函數。索引0的元素是任何當前正在執行的shell函數的名字。最底部(具有最大索引)的元素是 "main"。這個變數僅當shell函數執行時才存在。向FUNCNAME賦值沒有效果,並且返回一個錯誤狀態。如果FUNCNAME被取消設定,它失去它的特殊屬性,即使隨後被重新設定。
這個變數可以和BASH_LINENO與 BASH_SOURCE 同時使用。FUNCNAME的每個元素對應於BASH_LINENO與 BASH_SOURCE 的內容,以描述呼叫堆疊。例如,${FUNCNAME[$i]} 在檔案 ${BASH_SOURCE[$i+1]} 中的行號 ${BASH_LINENO[$i]} 處被調用。內建命令caller使用這些資訊,顯示當前呼叫堆疊。
FUNCNEST
如果設定一個大於0的數字,則定義了最大的函數嵌套層次。超過該值的函數調用將導致當前命令放棄執行。
GLOBIGNORE
是一個冒號分隔的模式列表,定義了檔案名稱擴充時忽略的檔案名稱集合。如果一個檔案名稱即匹配檔案名稱擴充的模式,同時也匹配GLOBIGNORE中的一個模式,則它將從匹配列表中移除。
GROUPS
是一個陣列變數,包含目前使用者所屬組的列表。向GROUOS賦值沒有效果,並且返回一個錯誤狀態。如果GROUPS被取消設定,它失去它的特殊屬性,即使隨後被重新設定。
histchars

最多3個字元,以控制曆史擴充,快速替換,和標記化(見曆史互動)。第一個字元是 曆史擴充 字元,標誌著曆史擴充的開始,一般是 ‘!’。第二個字元標誌著 快速替換——當它是一行中的第一個字元時,一般是‘^’。可選的第三個字元,標誌著該行剩下的內容是注釋——當它是一個字的第一個字元時,一般是‘#’。曆史注釋字元,使得曆史替換跳過那一行上的剩餘字。它不是必要的,因為shell解譯器會把剩餘的部分按注釋處理。

HISTCMD

當前命令的命令曆史的序號,或者在命令曆史中的索引。如果HISTCMD被取消設定,即使重新設定,也失去其特殊屬性。

HISTCONTROL

冒號分割的一組值的列表,用來控制命令在曆史列表中的儲存方式。如果列表中包含‘ignorespace’,則以空格開頭的命令列不會被儲存到命令曆史中。‘ignooredups’導致和已經儲存在曆史中的命令匹配的命令列不會被儲存。‘ignoreboth’是‘ignoredups’和‘ignorespace’的簡寫。‘erasedups’導致在儲存命令列前,刪除曆史中那些匹配該命令列的命令。所有不在上述列表中的值都被忽略。如果HISTCONTROL被取消設定,或者沒有包含有效值,所有shell解譯器讀入的命令列都被儲存到曆史列表中,除了HISTIGNORE中的值以外。多行命令的第二行及以後的行都不做檢查,忽略HISTCONTROL的設定,而加入到命令曆史中。

HISTFILE

儲存命令曆史的檔案名稱。預設值是 ~/.bash_history。

HISTFILESIZE

曆史檔案中包含的命令列數的最大值。當此變數被賦值時,如果有必要,刪除曆史檔案中最舊的內容,以使總行數不超過該值。另外,當互動式shell退出時,也刪除曆史檔案中的內容,以不超過該值。預設值是500。

HISTIGNORE

冒號分割的模式列表,以確定哪個命令列應當儲存到命令曆史中。每一個模式都從行開頭開始,並且必須匹配整個命令列(不追加隱含的‘*’)。每個模式檢測,在完成HISTCONTROL測試之後進行。除了一般的shell模式比對字元,‘&’匹配前一個曆史命令列。‘&’可以使用反斜線轉義;在匹配之前,去掉反斜線。多行命令的第二行及以後的行都不做檢查,忽略HISTIGNORE的設定,而加入到命令曆史中。

HISTIGNORE歸入HISTCONTROL的函數。‘&’模式等同於‘ignoredups’,而‘[ ]*’等同於‘ignorespace’。組合這兩個模式,並用冒號分割,就是‘ignoreboth’。

HISTSIZE

曆史列表能儲存的最大命令個數。預設值是500。

HISTTIMEFORMAT

如果該變數被設定,且非空,則該值作為strftime的格式化字串,用於在調用history內建命令時,在每個曆史內容上,相應地列印時間戳記。如果該變數被設定,則時間戳記被寫入到曆史檔案中,以使之可以在shell會話之間保持。使用曆史注釋字元區分時間戳記和命令列。

HOSTFILE

包含一個檔案的名字——此檔案和/etc/hosts具有相同的格式,在shell完成一個hostname時,從此檔案中讀取資訊。在shell運行時,hostname自動完成清單可能被改變;值被改變之後,在下一次試圖進行hostname完成時,Bash把新檔案的內容加入到現存的列表中。如果HOSTFILE被設定了,但是沒有給定值,或者不是一個可讀檔案,Bash則試圖讀取/etc/hosts以擷取hostname自動完成清單。當HOSTFILE被取消設定時,hostname列表被清除。

HOSTNAME

當前主機的名字。

HOSTTYPE

一個字串,描述了Bash正在啟動並執行機器。

IGNOREEOF

控制shell在遇到輸入的獨立的EOF字元時的動作。如果設定此變數,變數的值代表了,在shell退出前,從一個輸入行中的開始位置,可以讀入的連續的EOF字元的數量。如果變數存在,但是值不是數字類型的,或者沒有值,則預設為10。如果此變數不存在,則EOF標誌著對shell的輸入結束。這個變數僅僅在互動式shell有效。

INPUTRC

Readline初始設定檔案的名字,覆蓋預設的~/.inputrc。

LANG

用來決定那些沒有以LC_開頭的變數指定locale分類的內容的locale類別。

LC_ALL

此變數指定的locale類別,覆蓋LANG和所有其他LC_開頭的變數的值。

LC_COLLATE

此變數決定檔案名稱擴充結果的定序,和決定範圍運算式的行為,等價類別,和檔案名稱擴充的排序序列和模式比對(見 檔案名稱擴充)。

LC_CTYPE

此變數決定字元的解釋和檔案名稱擴充和模式比對中字元類的行為(見 檔案名稱擴充)。

LC_MESSAGES

此變數決定用於翻譯以'$'開頭的雙引號字串時的locale。(見 locale翻譯)

LC_NUMERIC

此變數決定數字格式的locale類別。

相關文章

聯繫我們

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