shell 中內部變數和環境變數

2021-06-08 14:53:50 字數 1733 閱讀 8518

內部變數主要是為shell程式設計提供支援

#  $#命令列引數或位置引數的數量

?  $?最近執行的一次命令或指令碼的出口狀態

$  $$shell指令碼的程序id

!  $!最近執行後台程序的pid

*  $@ 與 $*的區別

@  $@ 與 $*的區別

oldpwd   用cd到所建目錄之前的路徑,路徑必須是發生過改變才有值

optarg     getopts 命令已經處理的前乙個選項引數

optind       getopts 命令已經處理的前乙個選項引數的索引

ppid             當前程序的父程序的pid

pwd             當前目錄

random     會產生乙個介於0~32767的隨機整數

reply           read命令讀入,但是後面不指定引數名時,讀入的東西會被賦予變數reply

seconds    指令碼已經執行的時間(秒數)

shell 環境變數

columns    終端視窗的列寬

lines             終端視窗的行寬

editor          確定命令編輯使用的編輯程式,通常為vim/emacs

fcedit           設定fc內建命令使用的編輯器

ifs                    字段分割符(預設為空格,製表符和換行符),決定了shell在解析命令列或字串時怎樣確定字段邊界

inputrc        設定readline啟動文字的名字,預設值 為~/.inputrc

histfile         指定命令歷史檔案,預設~/.bash_history

histfilesize 歷史檔案儲存的最大命令記錄數量,預設500

histsize          歷史緩衝區儲存的最大命令記錄 數量,預設500

lang                     語言環境

lc_all                 用於統一lc_*系列變數的值

lc_ctype           確定如何處理語言環境的字符集,包括字元的分類,字元大小寫轉換,及其他字元屬性

lc_messages   採用何種語言輸出系統提示資訊

lc_numberic    本地化千分數值的顯示形式

mail                        定義郵箱的路徑檔名

mialcheck          檢測郵件頻率,預設60s,若為0,表示不檢查

mailpath               定義系統是否有新郵件到來的檔名

path                        命令檢索路徑及順序,目錄之間加冒號分割符,path環境變數由/etc/profile及$home/.profile 等初始化。為了安全期間它從不包含當前目錄。

ps1                          第一級shell命令提示符,或稱主提示符。預設'[\u@\h\w]\$ '  具體引數見linux中ps1的設定

ps2                          第二級shell命令提示符,預設值為">",提示使用者繼續輸入不完整的命令

ps3                          第**命令提示符,預設值"#?",用於設定select迴圈控制結構使用的選單選擇提示符

ps4                          第四級命令提示符,預設值為"+",用於shell指令碼的除錯。

linux 環境變數和shell變數

變數是任何一種程式語言都必不可少的組成部分,用於存放各種型別的變數。指令碼語言大多是弱型別語言 動態語言 也就是說在使用變數時,不需要事先宣告變數的型別,只需要直接賦值就可以。在bash中,每乙個變數的值都是字串。無論你給變數賦值時有沒有使用引號,值都會以字串的形式儲存。有一些特殊的變數會被shel...

shell環境變數

環境變數 和 自定義變數 子程序僅會繼承父程序的環境變數,而不會繼承父程序的自定義變數,所以,你原本bash中的自定義變數在進入了子程序後就會消失不見,一直到你離開子程序並回到原本的父程序之後,這個變數才會出現。1.用env檢視預設的環境變數及其說明 export也可檢視,但是輸出的內容比env多 ...

shell環境變數

1.環境變數的定義 環境變數一般是指在作業系統中用來指定作業系統執行環境的一些引數,如path,pwd,user,當前使用的shell名稱。系統啟動後,會產生許多環境變數,使用者可以用set命令檢視 shell例項1 root changerlee 環境變數的定義 set abrt debug lo...