2006年12月27日 星期三

Bash內建參數

Bash內建參數

來源:http://www.openchess.org/noitatsko/programming/ (2001-05-25 21:04:01)


PPID : 該bash的呼叫者process ID.
PWD : 目前的工作目錄。

OLDPWD : 上一個工作目錄。

REPLY : 當read命令沒有參數時,直接設在REPLY上。

UID : User ID。

EUID : Effective User ID。

BASH : Bash的完整路徑。

BASH_VERSION : Bash版本。

SHLVL : 每次有Bash執行時,數字加一。

RANDOM : 每次這個參數被用到時,就會產生一個亂數在RANDOM上。

SECONDS : 從這個Shell一開始啟動後的時間。

LINENO : Script的行數。

HISTCMD : 歷史記錄數。

OPTARG : getopts處理的最後一個選項參數。

OPTIND : 下一個要由getopts所處理的參數號碼。

HOSTTYPE : 機器種類。

OSTYPE : 作業系統名稱。

IFS : Internal Field Separator。

PATH : 命令搜尋路徑。
PATH="/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin:."

HOME : 目前使用者的home directory;

CDPATH : cd命令的搜尋路徑。

ENV : 如果這個參數被設定,每次有shell script被執行時,將會執行它所設定的檔名做為環境設定。

MAIL : 如果這個參數被設定,而且MAILPATH沒有被設定,那麼有信件進來時,bash會通知使用者。

MAILCHECK : 設定多久時間檢查郵件一次。

MAILPATH : 一串的郵件檢查路徑。

MAIL_WARNING : 如果有設定的話,郵件被讀取後,將會顯示訊息。

PS1 : 提示訊息設定,內定為"bash\$ "。(請詳見提示訊息一節。)

PS2 : 第二提示訊息設定,內定為"> "。

PS3 : select命令所使用的提示訊息。

PS4 : 執行追蹤時用的提示訊息設定,內定為"+ "。

HISTSIZE : 命令歷史記錄量,內定為500。

HISTFILE : 歷史記錄檔,內定~/.bash_history。

HISTFILESIZE : 歷史記錄檔行數最大值,內定500。

OPTERR : 如果設為1,bash會顯示getopts的錯誤。

PROMPT_COMMAND : 如果設定的話,該值會在每次執行命令前都顯示。

IGNOREEOF : 將EOF值當成輸入,內定為10。

TMOUT : 如果設為大於零,該值被解譯為輸入等待秒數。若無輸入,當成沒有輸入。

FCEDIT : fc命令的內定編輯器。

FIGNORE : 請詳見READLINE。

INPUTRC : readline的startup file,內定~/.inputrc

notify : 如果設定了,bash立即報告被終結的背景程式。

history_control, HISTCONTROL : history使用。

command_oriented_history : 存入多行指令。

glob_dot_filenames : 如果設定了,bash將會把"."包含入檔案路徑中。

allow_null_glob_expansion : 如果設定了,bash允許路徑明稱為null string。

histchars : history使用。

nolinks : 如果設定了,執行指令時,不會跟隨symbolic links。

hostname_completion_file, HOSTFILE : 包含與/etc/hosts相同格式的檔名。

noclobber : 如果設定了,Bash不會覆寫任何由">"、">&"及"<>"所操作的檔案。

auto_resume : 請見任務控制一節。

no_exit_on_failed_exec : 如果該值存在,非互動的shell不會因為exec失敗而跳出。

cdable_vars : 如果啟動,而cd命令找不到目錄,可切換到參數形態指定的目錄下。


系統預設已經有相當多的變數定義了, 因此在你的shell script裡面 要去避免這些變數. 以下就是一些預設的系統變數.

BASH_ENV  absolute path of startup file
CDPATH directories searched by cd
FCEDIT absolute path of history editor
HISTCMD the history number of the current command
HISFILE absolute path of history file
HISTSIZE number of remembered commands
HOME login directory
IFS token delimiters
LINENO current line number in shell script
LINES terminal height
MAIL absolute path of mailbox
MAILCHECK number of seconds to check mail
OLDPWD absolute path of previous directory
OPTARG option set by getopt
OPTIND option's ordinal position set by getopt
OSTYPE the OS on which bash is executing
PATH command search path
PPID process ID of parent
PS1 primary prompt
PS2 secondary prompt
PWD absolute path of current directory
RANDOM random integer
REPLY default variable for read
SECONDS number of seconds since shell started
SHELL absolute pathname of preferred shell
TMOUT seconds to log out after lack of use
UID user ID of the current user
$ process ID of current shell
? exit status of most recent statement

沒有留言: