shell內建變數

2021-08-27 15:51:38 字數 1355 閱讀 6208

shell內部變數

$shell  顯示當前系統用的shell

$bash   顯示bash路徑

$bash_subshell  提示當前subshell的層次

$bash_version  顯示bash版本

$bash_versinfo[n]  顯示bash安裝資訊的乙個6元素陣列,與$bash_version 很像

$dirstack 、$pwd  結果 等於dirs命令結果

$editor  指令碼呼叫的預設編輯器

$euid   「effective」使用者id號

$funcname  當前函式名字

$groups  當前使用者屬於的組

$uid 使用者id號

$home  使用者home目錄

$hostname   系統主機名

$ifs  內部域分隔符,預設為空白(空格、tab、新行)

$lineno  記錄它所在指令碼中它所在行和行號,一般用於排程

$machtype  顯示系統型別,系統架構

$oldpwd  老的工作目錄

$optype  作業系統型別

$path  指向bash外部命令所在位置,系統在它指向的目錄下搜尋命令

$ppid  父程序的程序id

$promt_command  儲存乙個在主提示符顯示之前需要執行的命令

$ps1  主提示符

$ps2  第二提示符,當需要額外輸入時顯示,預設為">"

$ps3 第三提示符,在乙個select迴圈中顯示

$ps4 第四提示符,當使用-x選項呼叫指令碼時,這個提示符將出現在每行的輸出前邊,預設為"+"

$reply  read命令如果沒有給變數,那麼輸入將儲存在$reply 中.在select 選單中也可用,但是只

提供選擇的變數的項數,而不是變數本身的值.

$seconds  這個指令碼已經執行的時間(單位為秒).

$shellopts  儲存shell允許的選項

$shlvl   shell層次

$tmout 如果$tmout 環境變數被設定為乙個非零的時間值,那麼在過了這個指定的時間之後,

shell提示符將會超時,這會引起乙個logout.

5.預定義變數,適用所有shell,無法更改

$#   取出位置引數個數

$*   取出所有位置引數內容

$?  判斷上一次命令執行結果是否正確,0代表正確,非0則不代表不正確

$$  當前程序程序號

$!  後台執行的最後一程序號

$0  取出指令碼名子

$1、$2、$3……位置引數

指令碼位置引數個數如果超過9要用{}括起來,如$

$_  儲存之前執行的命令的最後乙個引數

shell內建變數

特殊的shell變數 變數含義 0指令碼名 1 9 位置引數1 9 位置引數10 引數的個數 所有位置引數,加上引號後表示當做乙個字串 所有的位置引數,加上引號無影響,表示當做單個字串 獲取執行上乙個指令的執行狀態返回值 0為成功,非零為失敗 獲取當前執行shell的程序號 獲取上乙個在後台工作的程...

shell 函式與內建變數

傳遞到指令碼的引數個數 以乙個單字串顯示所有向指令碼傳遞的引數 指令碼執行的當前程序id號 後台執行的最後乙個程序的id號 與 相同,但是使用時加引號,並在引號中返回每個引數。顯示shell使用的當前選項,與set命令功能相同。顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。顯示傳參的...

shell 函式與內建變數

傳遞到指令碼的引數個數 以乙個單字串顯示所有向指令碼傳遞的引數 指令碼執行的當前程序id號 後台執行的最後乙個程序的id號 與 相同,但是使用時加引號,並在引號中返回每個引數。顯示shell使用的當前選項,與set命令功能相同。顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。顯示傳參的...