日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

BASH BUILTIN COMMANDS 内建命令

發布時間:2023/12/13 34 生活家
生活随笔 收集整理的這篇文章主要介紹了 BASH BUILTIN COMMANDS 内建命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

除非另外說明,這一章介紹的內建命令如果接受 - 引導的選項,那么它也接受 -- 作為參數,來指示選項的結束

: [arguments]沒有效果;這個命令除了擴展 arguments 并且作任何指定的重定向之外,不做任何事。退出時返回0。. filename [arguments]source filename [arguments]讀取并在當前 shell 環境中執行 filename 中的命令,返回 filename 中最后一個命令的返回狀態。如果 filename 中不包含斜杠 (slash),系統將在 PATH 中查找包含 filename 的目錄。在 PATH 中搜索的文件不必是可執行的。如果 bash 不是運行于 posix mode,當 PATH 中找不到文件時會在當前目錄搜索。如果 shopt 內建命令的 sourcepath 選項被關閉, PATH 將不會被搜索。如果有任何 arguments ,它們成為 filename 的位置參數 (positional parameters),否則位置參數不發生變化。返回狀態是腳本中最后一個命令退出時的狀態。沒有執行命令則返回0,沒有找到或不能讀取 filename 時返回false。alias [-p] [name[=value] ...]Alias 不帶參數或者帶 -p 參數運行時將在標準輸出以這樣的格式 alias name=value 給出別名列表。如果有參數,將創建提供了 valuename 的別名。 value 中尾部的空格使得別名被擴展時,下一個詞做別名替換。對于參數列表中的每一個 name,如果 value 沒有給出,這個別名的名稱和值會被打印出來。 Alias 返回 true 除非 name 沒有定義為別名。bg [jobspec]使掛起的程序 jobspec 在后臺繼續執行,就好像它是用 & 啟動的一樣。如果沒有指定 jobspec,shell 意義上的 current job 當前作業 將被使用。 bg jobspec 返回0,除非當前禁止了作業控制,或者在允許作業控制,但是沒有找到 jobspec ,或者它不是在作業控制下啟動的時候。bind [-m keymap] [-lpsvPSV]bind [-m keymap] [-q function] [-u function] [-r keyseq]bind [-m keymap] -f filenamebind [-m keymap] -x keyseq:shell-commandbind [-m keymap] keyseq:function-namebind readline-command顯示當前 readline 鍵和功能的,將一個按鍵序列和一個 readline 功能或宏進行關聯,或者設置一個 readline 變量。每一個在非選項的參數都是一個命令,好像它是在 .inputrc 中出現的一樣。但是每個關聯或者命令必須作為單獨的參數傳遞;也就是這樣 '"C-xC-r": re-read-init-file'。如果有參數,它們有如下的意義:-m keymap使用 keymap 作為隨后的關聯的keymap。可選的 keymap 名稱是 emacs, emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move, vi-command,還有 vi-insertvivi-command 等價; emacsemacs-standard 等價。-l列出所有的 readline 功能。-p以程序可讀的方式顯示 readline 功能名稱和關聯-P列出當前 readline 功能名稱和關聯。-v以程序可讀的方式顯示 readline 變量名稱和值-V列出當前 readline 變量和值。-s以程序可讀的方式顯示 readline 鍵序列和對應的宏-S顯示 readline 宏對應的鍵序列和他們輸出的字符串-f filenamefilename 中讀取鍵序列-q function查詢那些鍵將執行function-u function取消所有關聯到 function 的鍵。-r keyseq取消當前任何 keyseq 的關聯。-x keyseq:shell-command使 shell-commandkeyseq 按下時被執行。

返回值是0,除非給出了一個不能識別的選項或是產生了一個錯誤。

break [n]從一個 for, while, until, 或者 select 循環退出。如果指定了 n ,就跳出 n 層循環。 n 必須 > 1。如果 n 比當前循環層數還要大,將跳出所有循環。返回值是0,除非執行 break 的時候 shell 不是在執行一個循環。builtin shell-builtin [arguments]執行指定的 shell 內建命令,傳遞 arguments ,返回命令的返回值。這在定義了一個和 shell 內建命令同名的函數時很有用,在那個函數中使用它來執行相應的功能。cd 命令常以這種方式重新定義。返回狀態是 false,如果指定的 shell-builtin 并不是一個 shell 內建命令。cd [-L|-P] [dir]改變當前路徑到 dir。這個變量的默認值是 HOME 目錄。環境變量 CDPATH 定義了包含 dir 的搜索路徑。在 CDPATH 中可選的路徑名以冒號(:) 分隔。 CDPATH 中的空路徑名與當前路徑相同,就是 ``.''. 如果 目錄名 以斜杠 (/,slash) 起始,那么 CDPATH 不會被使用。 -P 選項是說使用物理路徑結構而不是跟隨符號鏈接,(參見 set 命令中的 -P 選項); -L 選項強制跟隨符號鏈接。另外,選項 -$OLDPWD 是相同的。返回值是 true ,如果成功地改變了目錄;否則是 false。command [-pVv] command [arg ...]運行 command ,使用 args 作為參數,禁止通常的查找 shell 函數的過程。只有內建命令或者 PATH 中包含的命令可以執行。如果給出 -p 參數, command 的查找是以 PATH 的默認值進行的。這樣可以保證找到所有的標準工具。如果給出 -V 或者 -v 選項,關于 command 的說明將被打印出來。 -v 選項使得表述這個命令的詞,或者要執行 command 需要執行的文件顯示出來; -V 選項給出更詳細的描述。如果給出 -V 或者 -v 選項,退出狀態在找到了 command 的情況下0,沒找到就是1。如果沒有提供選項,并且產生了錯誤或者 command 沒有找到,退出狀態就是127。否則, command 內建命令的退出狀態是 command 的退出狀態。compgen [option] [word]根據 optionword 產生可能的補全。option 是內建命令 complete 接受的任何選項,除了 -p-r,將匹配結果寫到標準輸出。當使用 -F-C 選項時,可編程補全功能所設置的多數 shell 變量如果存在,其值將不再有用。

產生的匹配與可編程補全代碼根據補全規則加上相同的標志直接產生的結果相同。如果指定了 word,只有匹配 word 的補全結果將被顯示出來。

返回值為真,除非提供了非法的選項,或者沒有產生匹配。

complete [-abcdefgjksuv] [-o comp-option] [-A action] [-G globpat] [-W wordlist] [-P prefix] [-S suffix]
[-X filterpat] [-F function] [-C
command] name [name ...]
complete -pr [name ...]
指定每個 name 的參數應當如何被補全。如果給出了 -p
選項,或者沒有選項給出,現有的補全規則將被顯示出來,以一種可以重用為輸入的格式顯示。-r 選項將一個針對每個 name
的補全規則刪除。或者,如果沒有給出 name,將刪除所有補全規則。

嘗試詞的補全時,應用這些補全規則的過程在上面 Programmable Completion(可編程補全) 中詳述。

其他選項,如果給出的話,具有下列意義。-G, -W, 和 -X 選項的參數 (如果需要的話,還包括
-P-S 選項) 應當被引用,避免在執行內建命令 complete 之前被擴展。

-o comp-option
comp-option 控制著 compspec 除了簡單地產生補全之外的多種行為。 comp-option
可以是如下之一:
default
使用 readline 的默認文件名補全,如果 compspec 沒有得到匹配。
dirnames
進行目錄名補全,如果 compspec 沒有得到匹配。
filenames
告訴 readline,compspec 產生了文件名,使它可以進行任何文件名專用的處理 (例如,給目錄名加上斜杠或消除尾部空白)。主要用于 shell
函數。
nospace
告訴 readline 不要向補全的詞在行的最后添加一個空格 (這是默認行為)。
-A action
action 可以是下列之一,來產生一系列可能的補全結果:
alias
起別名。也可以用 -a 指定。
arrayvar
數組變量名。
binding
Readline 按鍵關聯。
builtin
shell 內建命令的名稱。也可以用 -b 指定。
command
命令名。也可以用 -c 指定。
directory
目錄名。也可以用 -d 指定。
disabled
被禁用的內建命令名稱。
enabled
啟用的內建命令名稱。
export
被導出的 shell 變量名稱。也可以用 -e 指定。
file
文件名。也可以用 -f 指定。
function
shell 函數的名稱。
group
組名。也可以用 -g 指定。
helptopic
內建命令 help 接受的幫助主題。
hostname
主機名,從環境變量 HOSTFILE 指定的文件中得到。
job
作業名,如果作業控制被激活的話。也可以用 -j 指定。
keyword
shell 保留字。也可以用 -k 指定。
running
正在運行的作業名,如果作業控制被激活的話。
service
服務名。也可以用 -s 指定。
setopt
內建命令 set-o 選項的有效參數。
shopt
內建命令 shopt 接受的 shell 選項名。
signal
信號名。
stopped
停止的作業名,如果作業控制被激活的話。
user
用戶名。也可以用 -u 指定。
variable
shell 變量的名稱。也可以用 -v 指定。
-G globpat
文件名擴展模式 globpat 被擴展,產生可能的補全。
-W wordlist
wordlist 被使用 IFS
特殊變量中的字符作為定界符來拆分,每個結果的詞被擴展。可能的補全是結果列表中匹配要補全的詞的那一些。
-C command
command 將在一個子 shell 環境中執行,它的結果用作可能的補全。
-F function
shell 函數 function 將在當前 shell 環境中執行。當它結束時,可能的補全可以從數組元素 COMPREPLY 中得到。
-X filterpat
filterpat 是一個模式,用于文件名擴展。所有前面的選項和參數產生的可能的補全都要經過這一步處理,每一個匹配
filterpat 的補全都被從列表中刪除。為 filterpat 加上前導 !
使模式意義相反;這種情況下,所有不匹配 filterpat 的模式被刪除。
-P prefix
在所有其他選項都處理過之后,prefix 被加到每個可能的補全前面。
-S suffix
在所有其他選項都處理過之后,suffix 被加到每個可能的補全后面。

返回值為真,除非給出了非法的選項,給出除 -p-r 之外的某個選項時沒有給出 name 參數,試圖刪除一條
name 的補全規則但是規則不存在,或者添加補全規則時出錯。

continue [n]
復位到外層 for, while, until, 或 select 循環的下一次開始。如果指定了
n, 復位到向外第 n 層循環的開始。 n 必須 > 1。如果 n
比外部循環的層數要多,將復位到最外層的循環 (``top-level'' loop,頂層循環)。返回值是 0,除非執行 continue
時,shell 不是在循環之中。
declare [-afFirtx] [-p] [name[=value]]

typeset [-afFirtx] [-p] [name[=value]]
聲明變量且/或設置它們的屬性。如果沒有給出 name 則顯示變量的值。選項 -p 將顯示每個名稱 name
的屬性和值。當使用 -p 時,其他選項被忽略。選項 -F 禁止顯示函數定義;只有函數名和屬性會被顯示。 -F 選項暗含
-f. 下列選項可用來限制只輸出具有指定屬性的變量,或者為變量設置屬性:
-a
每個 name 都是數組變量 (參見上面的 Arrays 段落)。
-f
只使用函數名。
-i
變量被當作一個整數;當變量被賦值時將進行算術運算 (參見 算術求值 (ARITHMETIC
EVALUATION)
章節)。
-r
使得 name 只讀。這些名稱不能再被后續的賦值語句賦值或取消定義。
-t
設置每個 nametrace(跟蹤) 屬性。被跟蹤的函數繼承了調用者 shell 的 DEBUG
陷阱。trace 屬性對變量沒有特殊意義。
-x
標記 name 為可以通過環境導出給后續命令。

使用 `+' 代替 `-' 將關閉屬性,特殊情況是 +a 不能用于銷毀一個數組變量。當用于函數中時,它使得每個 name
成為局部的,就像使用了 local 命令。返回值是 0,除非遇到了非法的選項,試圖使用 ``-f foo=bar''
定義函數,試圖向只讀變量賦值,試圖向數組變量賦值但沒有使用復合的賦值語法 (參見上面的 Arrays 段落),name
之一不是有效的 shell 變量名,試圖將數組變量的數組狀態關閉,或者是試圖使用 -f 顯示一個不存在的函數。

dirs [-clpv] [+n] [-n]
沒有選項時顯示當前保存的目錄。默認輸出為一行,目錄名用空格分開。可以使用 pushd 命令將目錄添加到列表, popd
命令將列表中的條目刪除。
+n
顯示 dirs 在不帶選項執行時顯示的列表的第 n 個條目,從 0 開始自左算起。
-n
顯示 dirs 在不帶選項執行時顯示的列表的第 n 個條目,從 0 開始自右算起。
-c
刪除所有條目,清空目錄棧。
-l
產生長列表;默認列表格式使用波浪線來表示個人目錄。
-p
輸出目錄棧,一行一個。
-v
輸出目錄棧,一行一個,每個條目前面加上它在棧中的位置索引。

返回值是 0,除非給出了非法的參數,或者 n 索引超出了目錄棧的范圍。

disown [-ar] [-h] [jobspec ...]
沒有選項時,每個 jobspec 被從正在運行的作業表中刪除。如果給出了 - 選項,每個 jobspec
并不從表中刪除,而是被標記,使得在 shell 接到 SIGHUP 信號時,不會向作業發出 SIGHUP 信號。如果沒有給出 jobspec, 也沒有給出 -a 或者
-r 選項,將使用當前作業 (current job)。如果沒有給出 jobspec, 選項 -a
意味著刪除或標記所有作業;選項 -r 不帶 jobspec 參數時限制操作只對正在運行的作業進行。返回值是 0,除非
jobspec 不指定有效的作業。
echo [-neE] [arg ...]
輸出 arg,以空格分開,最后加一個新行符。返回值總是 0。如果指定了 -n,將不在尾部添加新行符。如果給出了
-e 選項,將允許解釋下列反斜杠轉義的字符。 -E 選項禁止這些轉義字符的解釋,即使在默認解釋它們的系統中也是如此。 shell
選項 xpg_echo 可以用來在運行時判斷 echo 是否默認展開這些轉義字符。 echo 不將 --
作為選項的結束。 echo 解釋下列轉義序列:
a
alert (bell) 響鈴

backspace 回退
c
suppress trailing newline 刪除尾部新行符
e
an escape character 字符 Esc
f
form feed 進紙


new line 新行符

carriage return 回車

horizontal tab 水平跳格
v
vertical tab 豎直跳格
\
backslash 反斜杠
nnn
一個八比特字符,它的值是八進制值 nnn (零到三個八進制數字)。
nnn
一個八比特字符,它的值是八進制值 nnn (一到三個八進制數字)。
xHH
一個八比特字符,它的值是十六進制值 HH (一到兩個十六進制數字)。
enable [-adnps] [-f filename] [name ...]
允許或禁止 shell 內建命令。禁止一個內建命令使得磁盤上的與內建命令同名的文件得以運行,不必使用它的全路徑,即使 shell
一般在搜索磁盤上的命令之前搜索內建命令。如果使用了 -n 選項,每個 name 都被禁止;否則, name
被允許。例如,要使用 PATH 中搜索到的 test 命令而不是 shell
內建的那一個,可以運行 ``enable -n test''. 選項 -f 意味著從共享庫 filename 中加載新的內建命令
name, 如果系統支持動態加載的話。選項 -d 將刪除曾經用 -f 加載的內建命令。如果沒有給出
name 參數,或者給出了 -p 選項,將顯示 shell 內建命令的列表。如果沒有其他選項參數,這個列表只包含所有被允許的
shell 內建命令;如果給出了 -n,將只顯示被禁止的內建命令;如果給出了
-a,顯示的列表中包含所有內建命令,還有命令是否被允許的指示;如果給出了 -s,輸出被限制為 POSIX
special 內建命令。返回值是 0,除非 name 不是 shell 內建命令,或者從共享庫中加載新的內建命令時出錯。
eval [arg ...]
arg 被讀取并連結為單一的命令。這個命令然后被 shell 讀取并執行,它的退出狀態被作為 eval 的值返回。如果沒有
args, 或僅僅包含空參數, eval 返回 0。
exec [-cl] [-a name] [command
[arguments]]
如果指定了 command, 它將替換 shell。不會產生新的進程。 arguments 成為
command 的參數。如果給出了 -l 選項,shell 將在傳遞給 command 的第 0
個參數前面加上一個連字符 (dash,`-')。這樣做和 login(1) 相同。選項 -c 使得命令
command 在一個空環境中執行。如果給出了 -a, shell 會將 name 作為第 0
個參數傳遞給要執行的命令。如果由于某種原因 as the zeroth argument to the executed command. If
command 不能被執行,非交互的 shell 將退出,除非 shell 選項 execfail
被設置為允許,這種情況下它返回失敗。如果命令不能執行,交互的 shell 返回失敗。如果沒有指定 command 任何重定向對當前 shell
發生作用,返回值是 0。如果發生重定向錯誤,返回狀態是 1。
exit [n]
使得 shell 以狀態值 n 退出。如果忽略了 n, 退出狀態是最后執行的命令的退出狀態。在 shell 終止前,對
EXIT 的陷阱將被執行。
export [-fn] [name[=word]] ...

export -p
給出的名稱 names 被標記為自動地導出到后續執行的命令的環境中。如果給出了 -f 選項,名稱 names
指的是函數。如果沒有給出 names, 或者如果給出了 -p 選項,將打印在這個 shell 中被導出的所有名字的列表。選項
-n 使得以此為名的變量的導出屬性被刪除。 export 返回 0,除非遇到了非法的選項,name 之一不是有效的
shell 變量名,或者給出了 -f 選項,而 name 不是一個函數。
fc [-e ename] [-nlr] [first]
[last]

fc -s [pat=rep] [cmd]
命令修復。第一種形式中,歷史列表中從 firstlast 范圍內的命令都被選取。 First
last 可以指定為字符串 (可以定位最后一個以此字符串開始的命令) 或者數字 (歷史列表中的索引,負數被當作相對當前命令號的偏移)。如果沒有指定
last, 它在列舉時被設為當前命令 (因此 ``fc -l -10'' 將輸出最后 10 條命令),其他情況下被設為 first。
如果沒有指定 first, 它在編輯時被設為前一個命令,列舉是設為 -16。

選項 -n 使得列舉時不顯示命令號碼。選項 -r 將命令順序進行掉換。如果給出了 -l
選項,命令將列舉在標準輸出上。否則,將啟動 ename 給出的編輯器,編輯包含這些命令的文件。如果沒有給出 ename, 將使用變量
FCEDIT 的值,如果 FCEDIT
沒有定義就使用 EDITOR 的值。如果仍然沒有定義,將使用
編輯結束后,被編輯的命令將回顯并執行。

第二種形式中,command 在每個 pat 的實例被 rep
替換后都被重新執行。使用這種特性時可以起一個有用的別名: ``r=fc -s'', 這樣輸入 ``r cc'' 將運行最后的以 ``cc'' 開頭的命令,輸入
``r'' 將重新執行上一個命令。

如果使用第一種形式,返回值是 0,除非遇到了非法的選項,或 firstlast 指定的歷史行數超出了范圍。如果給出了
-e 選項,返回值是最后執行的命令的返回值,或著是失敗,如果臨時文件中的命令執行出錯。如果使用第二種形式,返回狀態是重新執行的命令,除非
cmd 沒有指定一個有效的歷史行,這種情況下 fc 返回失敗。

fg [jobspec]
jobspec 恢復至前臺,使它成為當前作業。如果 jobspec 不存在,將使用 shell 意義上的當前作業
current job。返回值是被放到前臺的命令的狀態,或者是失敗,如果在禁用作業控制時運行,或者在啟用作業控制時運行,但
jobspec 沒有指定有效的作業,或 jobspec 指定了沒有使用作業控制的作業。
getopts optstring name [args]
getopts 由 shell 程序用來處理位置參數。 optstring
包含要識別的選項字符;如果某個字符跟隨著冒號,那么這個選項需要一個參數,需要用空白和它隔離開。冒號和問號字符不能用作選項字符。每次它執行時,
getopts 將下一個選項放在 shell 變量 name 中,如果 name
不存在就初始化它;下一個要處理的參數的索引放在變量 OPTIND 中。每次 shell 或 shell
腳本被執行的時候 OPTIND 被初始化為 1。當某個選項需要參數時, getopts
將那個參數放到變量 OPTARG 中。shell 不會自動重置 OPTIND; 在相同的 shell 中,如果要使用新的參數集合而需要多次調用 getopts
時,必須手動重置它。

當遇到選項結束的時候,getopts 以大于 0 的值退出。 OPTIND
被設置為第一個非選項的參數的索引,name 被設置為 ?。

getopts 通常解釋位置參數,但是如果 args 中給出了更多參數, getopts 將解釋它們。

getopts 能以兩種方式報告錯誤。如果 optstring 的第一個字符是冒號,將使用 silent
安靜的錯誤報告。通常的操作中,遇到非法選項或缺少選項的參數時將打印出診斷信息。如果變量 OPTERR
被設置為 0,不會顯示錯誤消息,即使 optstring 的第一個字符不是冒號。

如果發現了一個非法的選項, getoptsname 中置入 ?,并且如果不是安靜模式的話,打印錯誤消息并取消 OPTARG 的定義。如果 getopts 是安靜模式,找到的選項字符將置入 OPTARG, 不會打印診斷消息。

如果沒有找到需要的參數,并且 getopts 不是安靜模式,將向 name 置入一個問號 (?),取消
OPTARG 的定義,打印出診斷消息。如果 getopts 是安靜模式,那么將向
name 置入一個冒號 (:) 并且 OPTARG 將設置為找到的選項字符。

getopts 返回真,如果找到了指定的/未被指定的選項。它返回假,如果遇到了選項結束或者發生了錯誤。

hash [-lr] [-p filename] [-dt]
[name]
對于每個 name, 通過搜索 $PATH 中的目錄,找到命令的全路徑名并記錄它。如果給出了 -p
選項,不會進行路徑搜索,直接將 filename 作為命令的全路徑名。選項 -r 使得 shell 忘記所有已記錄的位置。選項
-d 使得 shell 忘記已記錄的 name 的位置。如果給出了 -t 選項,每個 name
對應的全路徑名被打印出來。如果給出多個 name 作為 -t 的參數,name
將在已記錄的全路徑名之前被打印出來。選項 -l 使得輸出以一種可以重用為輸入的格式顯示。如果沒有給出參數,或者只給出了 -l
選項,已記錄的命令的信息將被打印出來。返回真,除非 name 沒有找到或給出了非法的選項。
help [-s] [pattern]
顯示關于內建命令的有用的信息。如果指定了 pattern (模式), help 給出關于所有匹配
pattern 的命令的詳細幫助;否則所有內建命令的幫助和 shell 控制結構將被打印出來。選項 -s
限制信息顯示為簡短的用法概要。返回 0,除非沒有匹配 pattern 的命令。
history [n]

history -c

history -d offset

history -anrw [filename]

history -p arg [arg ...]

history -s arg [arg ...]
不帶選項的話,顯示帶行號的命令歷史列表。列出的行中含有 * 的已經被修改過。參數 n 使得只顯示最后 n
行。如果給出了 filename,它被用做歷史文件名;沒有的話,將使用 HISTFILE
的值作為歷史文件名。選項如果給出,則具有下列意義:
-c
清空歷史列表,刪除所有條目。
-d offset
刪除 offset 位置的歷史條目。
-a
將 ``新'' 的歷史條目 (自當前 bash 會話開始輸入的歷史命令) 追加到歷史文件中。
-n
將尚未從歷史文件中讀取的歷史條目讀入當前歷史列表。這些行是當前 bash 會話開始之后,才追加到歷史文件中的行。
-r
讀取歷史文件的內容,使用它們作為當前歷史。
-w
將當前歷史列表寫入歷史文件,覆蓋歷史文件的原有內容。
-p
對后續的 args 進行歷史替換,在標準輸出上顯示結果。不會將結果存入歷史列表。每個 args
都必須被引用,來禁止普通的命令擴展。
-s
args 保存到歷史列表中,作為單獨的條目。歷史列表中的最后一個命令在添加 args 之前被刪除。

返回 0,除非遇到了非法的選項,讀/寫歷史文件發生錯誤,在 -d 的參數中給出了無效的 offset,或者對
-p 的后續參數進行歷史擴展失敗。

jobs [-lnprs] [ jobspec ... ]

jobs -x command [ args ... ]
第一種形式列出正在運行的作業。選項具有下列意義:
-l
普通信息之外,列出進程ID。
-p
只列出作業的進程組 leader 的進程ID。
-n
只顯示從上次用戶得知它們的狀態之后,狀態發生改變的作業的信息。
-r
限制只輸出正在運行的作業。
-s
限制只輸出停止的作業。

如果給出了 jobspec 輸出被限制為僅此作業的信息。返回 0,除非遇到了非法的選項或給出了非法的 jobspec。

如果給出了 -x 選項,作業 jobscommandargs 中的任何
jobspec 替換為相應的進程組ID,執行 command, 傳遞參數 args 給它并返回它的退出狀態。

kill [-s sigspec | -n signum |
-sigspec] [pid | jobspec] ...

kill -l [sigspec | exit_status]
向以 pidjobspec 為名的進程發送名為 sigspecsignum 的信號。
sigspec 可以是一個信號名稱,類似 SIGKILL 或信號編號;
signum 是一個信號編號。如果 sigspec 是一個信號名稱,那么可以有,也可以沒有 SIG 前綴。如果沒有給出 sigspec, 那么假設是 SIGTERM。 參數 -l 將列出所有信號的名稱。如果給出 -l
時還有任何參數,將列出參數對應的信號名稱,返回狀態 0。 -lexit_status
參數是一個數字,指定了一個信號編號或被信號終止的進程的退出狀態值。 kill
返回真,如果至少成功發送了一個信號,或者返回假,如果發生了錯誤或遇到了非法的選項。
let arg [arg ...]
每個 arg 都是要求值的算術表達式 (參見 算術求值(ARITHMETICEVALUATION) 章節)。如果最后一個參數 arg
求值結果是 0, let 返回 1;否則返回 0。
local [option] [name[=value] ...]
對每個參數將創建一個名為 name 的局部變量并賦予值 value。 option 可以是任何
declare 接受的值。當 local 用于函數內部時,它使得變量 name
作用域局限于函數和它的子進程。沒有操作數時, local 將局部變量的列表寫到標準輸出。不在函數內部使用 local
會導致出錯。返回 0,除非在函數之外使用了 local, 給出了非法的 name, 或者 name 是一個只讀的變量。

logout
退出登錄 shell。
popd [-n] [+n] [-n]
從目錄棧中刪除條目。沒有參數的話,從棧中刪除頂層目錄,執行 cd 切換到新的頂層目錄。如果給出了參數,有下列的含義:
+n
刪除 dirs 給出的列表中從左數第 n 個條目 (從 0 算起)。例如: ``popd +0'' 刪除第一個目錄,
``popd +1'' 第二個。
-n
刪除 dirs 給出的列表中從右數第 n 個條目 (從 0 算起)。例如: ``popd -0'' 刪除最后一個目錄,
``popd -1'' 刪除倒數第二個。
-n
阻止從棧中刪除目錄之后改變目錄,這時只對棧進行操作。

如果命令 popd 成功,還要執行一個 dirs, 返回 0。 popd
返回假,如果遇到了非法的選項,目錄棧為空,指定了目錄棧中不存在的條目,或者改變目錄失敗。

printf format [arguments]
format 控制下將格式化的 arguments 寫到標準輸出。 format
是一個字符串,包含三種類型的對象:普通字符,被簡單地復制到標準輸出,轉義字符,被轉換并復制到標準輸出,格式說明,每一個都使得相鄰的下一個
argument 被打印出來。在標準的 printf(1) 格式之外,%b 使得 printf
展開相應 arguments 中的反斜杠轉義序列,%q 使得 printf 將相應的 argument
以一種可以重用為 shell 輸入的格式輸出。

format 在需要時被重用,以處理所有的 arguments。如果 format 需要比所提供的更多的
arguments,多出的格式說明視為已經提供了相應的 0 值或空字符串。成功的話返回值是 0,失敗則是非 0 值。

pushd [-n] [dir]

pushd [-n] [+n] [-n]
將目錄推入目錄棧,或者輪換棧中的內容,使棧的頂部成為當前工作目錄。沒有參數時,交換頂部兩個目錄,返回
0,除非目錄棧為空。如果給出了參數,它們有如下含義:
+n
輪換棧中內容,使得 dirs 給出的列表中從左數第 n 個目錄 (從 0 數起) 成為目錄棧的頂部。
-n
輪換棧中內容,使得 dirs 給出的列表中從右數第 n 個目錄 (從 0 數起) 成為目錄棧的頂部。
-n
阻止向棧中添加目錄之后改變目錄,這時只對棧進行操作。
dir
添加 dir 到棧頂,使得它成為新的當前工作目錄。

如果命令 pushd 成功,還要執行一個 dirs。 如果使用第一種形式, pushd 返回 0,除非 cd
切換到目錄 dir 失敗。使用第二中形式時, pushd 返回
0,除非目錄棧為空,指定了目錄棧中不存在的元素,或者切換到指定的新的當前目錄失敗。

pwd [-LP]
打印當前工作目錄的絕對路徑名。如果給出了 -P 選項,或者設置了內建命令 set-o physical
選項,打印出的路徑名中不會包含符號鏈接。如果使用了 -L 選項,打印出的路徑中可能包含符號鏈接。返回
0,除非在讀取當前目錄名時出錯或給出了非法的選項。
read [-ers] [-u fd] [-t timeout]
[-a aname] [-p prompt] [-n nchars]
[-d delim] [name ...]
從標準輸入讀入一行,或從 -u 選項的參數中給出的文件描述符 fd 中讀取,第一個詞被賦予第一個 name,
第二個詞被賦予第二個 name, 以此類推,多余的詞和其間的分隔符被賦予最后一個 name.
如果從輸入流讀入的詞數比名稱數少,剩余的名稱被賦予空值。 IFS 中的字符被用來將行拆分成詞。反斜杠字符
() 被用于刪除讀取的下一字符的特殊含義,以及續行。如果給出了選項,將包含下列含義:
-a aname
詞被賦以數組變量 aname 的連續的下標,從 0 開始。在賦新值之前, aname 被取消定義。其他
name 參數被忽略。
-d delim
delim 的第一個字符被用于結束輸入行,而不是新行符。
-e
如果標準輸入來自終端,將使用 readline (參見上面的 READLINE
章節) 來獲得輸入行。
-n nchars
read 讀入 nchars 個字符后返回,而不是等待一整行輸入。
-p prompt
讀取任何輸入之前,在標準錯誤顯示提示 prompt,末尾沒有新行符。提示只有在輸入來自終端時才會顯示。
-r
反斜杠不作為轉義字符。反斜杠被認為行的一部分。特殊地,一對反斜杠-新行符不作為續行。
-s
安靜模式。如果輸入來自終端,字符將不會回顯。
-t timeout
使得 read 超時并返回失敗,如果在 timeout 秒內沒有讀入完整的一行輸入。如果 read
不是從終端或管道讀取輸入,那么這個選項無效。
-u fdFP
從文件描述符 fd 中讀取輸入。

如果沒有給出 names, 讀取的一行將賦予變量 REPLY。 返回值是
0,除非遇到了 EOF,readP 超時,或給出了非法的文件描述符作為 -u 的參數。

readonly [-apf] [name ...]
給出的 name 將被標記為只讀的; names 的值不能被后來的賦值語句改變。如果給出了 -f
選項,names 對應的函數也被標記。選項 -a 限制變量只能是數組類型。如果沒有給出 name 參數,或者如果給出了
-p 選項,將打印所有只讀的名稱。選項 -p 使得輸出以一種可以被重新用作輸入的格式顯示。返回值是 0,除非遇到了非法的選項,
names 之一不是有效的 shell 變量名,或選項 -f 中給出的 name 不是一個函數。
return [n]
使得一個函數以指定值 n 退出。如果忽略了 n,
返回狀態是函數體中執行的最后一個命令的退出狀態。如果在函數外使用,但是是在一個以 . (source) 命令執行的腳本內,它使得
shell 中止執行腳本,返回 n 或腳本中執行的最后一個命令的退出狀態。如果在函數外使用,并且不是在以 .
執行的腳本內,返回狀態是假。
set [--abefhkmnptuvxBCHP] [-o option]
[arg ...]
不帶選項時,shell 變量的名稱和值將以一種可以重用為輸入的格式顯示。輸出根據當前語言環境進行排序。指定了選項的時候,它們設置或取消了 shell
的屬性。處理完選項之后剩余的任何參數都被作為位置參數的值被賦值,分別賦予 $1, $2, ...
$n. 如果給出了選項,那么具有以下含義:
-a
自動將被修改或創建的變量和函數標志為導出至后續命令的環境中。
-b
后臺作業結束時立即報告狀態,而不是在下次顯示主提示符前報告。只有在啟用作業控制時才有效。
-e
立即退出,如果 simple command (簡單命令,參見上面的 SHELL GRAMMAR
語法)
以非零值退出。shell 不會退出,如果失敗的命令是 untilwhile 循環的一部分,
if 語句的一部分, &&|| 序列的一部分,或者命令的返回值是由 !
翻轉得到。針對 ERR 的陷阱,如果設置的話,將在 shell 退出前執行。
-f
禁止路徑擴展。
-h
在查找并執行命令時,記住它們的位置。這是默認啟用的。
-k
所有以賦值語句形式出現的參數都被加入到命令執行的環境中,不僅是命令名前面那些。
-m
監視模式。作業控制被啟用。在支持這個選項的系統中,它在交互 shell 中是默認啟用的 (參見上面的 JOB
CONTROL 作業控制)。
后臺進程在單獨的進程組中運行,結束時將打印出包含它們退出狀態的一行信息。
-n
讀取命令,但不執行。這可以用在檢查 shell 腳本中的語法錯誤。交互 shell 中它被忽略。
-o option-name
option-name 可以是如下之一:
allexport
-a 相同。
braceexpand
-B 相同。
emacs
使用 emacs 樣式的命令行編輯界面。這個選項在交互 shell 中默認啟用,除非 shell 以 --noediting 選項啟動。
errexit
-e 相同。
hashall
-h 相同。
histexpand
-H 相同。
history
允許記錄命令歷史,如上述 HISTORY 中的描述。這個選項在交互 shell 中默認啟用。
ignoreeof
它的效果是好像已經執行了 shell 命令 ``IGNOREEOF=10'' 一樣 (參見上面的 Shell Variables 變量)。

keyword
-k 相同。
monitor
-m 相同。
noclobber
-C 相同。
noexec
-n 相同。
noglob
-f 相同。 nolog 當前被忽略。
notify
-b 相同。
nounset
-u 相同。
onecmd
-t 相同。
physical
-P 相同。
posix
如果默認操作與 POSIX 1003.2 不同的話,改變 bash 的行為,來滿足標準 (posix mode)。
privileged
-p 相同。
verbose
-v 相同。
vi
使用 vi 樣式的命令行編輯界面。
xtrace
-x 相同。

如果給出了不帶 option-name-o 選項,當前選項的值將被打印出來。如果給出了不帶
option-name+o 選項,將在標準輸出顯示一系列可以重建當前選項設定的 set 命令。

-p
打開 privileged mode (特權模式)。 在這個模式中,不會處理 $ENV
$BASH_ENV 文件,shell 函數不會從環境中繼承,環境中如果有變量
SHELLOPTS, 也將被忽略。如果 shell 啟動時的有效用戶(組) ID 與真實用戶(組) ID
不同,并且沒有給出 -p 選項,將執行這些操作,有效用戶 ID 將設置為真實用戶 ID。如果啟動是給出了 -p 選項,有效用戶 ID
不會被重置。將這個選項關閉使得有效用戶和組 ID 被設置為真實用戶和組 ID。
-t
讀取并執行一個命令之后退出。
-u
在進行參數擴展時,將未定義的變量作為錯誤。如果試圖擴展未定義的變量,shell 將輸出一條錯誤消息; 如果是非交互的 shell,shell
將以非零值退出。
-v
在讀取輸入的同時打印出來。
-x
擴展每個簡單命令之后,顯示 PS4 的值,接著顯示命令和它擴展后的參數。
-B
shell 執行花括號擴展 (參見上面的 Brace Expansion)。 這是默認允許的。
-C
如果設置的話, bash 使用重定向操作符 >, >&, 和
<> 時,不會覆蓋已存在的文件。可以使用重定向操作符 >| 代替 >
來創建輸出文件,從而繞過這個限制。
-H
允許 Enable ! 樣式的歷史替換。在交互 shell 中這個選項是默認啟用的。
-P
如果設置的話,shell 在執行類似 cd 的,改變當前工作目錄的命令時,不會跟隨符號連接。它將使用物理的目錄結構來代替。默認情況下,
bash 在執行改變當前目錄的命令時跟隨路徑的邏輯鏈。
--
如果這個選項沒有參數,將取消位置參數的定義。否則,位置參數將設置為 arg,即使它們以 - 開始。
-
通知信號的結束,使得所有剩余的 arg 被賦予位置參數。 -x-v 選項被關閉。如果沒有
arg,位置參數將不會改變。

這個選項默認是關閉的,除非另外說明。使用 + 而不是 - 使得這些選項被關閉。選項都可以作為參數,在 shell 啟動時指定。當前的選項集合可以從
$- 找到。返回值總是真,除非遇到了非法的選項。

shift [n]
n+1 ... 開始的選項被重命名為 $1 ....$# 向下直到
$#-n+1 的選項被取消定義。 n 必須是非負整數,小于或等于 $#。如果 n
0,不會改變參數。如果沒有給出 n, 就假定它是 1。如果 n$# 大,位置參數不會改變。返回值大于 0,如果
n$# 大或小于 0;否則返回 0。
shopt [-pqsu] [-o] [optname ...]
對于控制可選的 shell 行為的變量,改變它們的值。沒有選項或者有 -p
選項時,將顯示所有可設置的選項列表,以及它們是否已經設置的指示。 -p 使得輸出以一種可以被重用為輸入的形式顯示。其他選項有如下含義:
-s
允許(設置) 每個 optname
-u
禁止(取消) 每個 optname
-q
禁止通常的輸出 (安靜模式);返回狀態指示了 optname 是否被設置。如果對 -q 給出了多個
optname 參數,如果所有 optname 都被允許,返回值就是 0;否則返回非零值。
-o
限制 optname 的值為內建命令 set-o 選項定義的值。

如果使用 -s-u 時沒有給出 optname
參數,顯示將分別限于被設置或被取消的選項。除非另外說明,shopt 選項默認被禁止(取消)。

返回值在列出選項時是 0,如果所有 optname 都被允許的話,否則是非零值。當設置或取消選項時,返回值是 0,除非
optname 是非法的 shell 選項。

shopt 選項的列表是:

cdable_vars
如果設置的話,內建命令 cd 的參數如果不是目錄,就假定是一個變量,它的值是要切換到的目錄名。
cdspell
如果設置的話, cd
命令中目錄的細微拼寫錯誤能夠得以糾正。檢查的錯誤包括字符錯位,缺字符,重復輸入同一字符。如果找到了正確的值,將打印正確的文件名,命令將繼續。這個選項只能在交互
shell 中使用。
checkhash
如果設置的話,bash 在執行命令前檢測散列表中的命令是否存在。如果一個被散列的命令不再存在,將進行正常的路徑搜索。
checkwinsize
如果設置的話,bash 在每條命令執行后檢測窗口大小,如果需要的話就更新 LINES
COLUMNS 的值。
cmdhist
如果設置的話, bash 試著將一個多行命令的所有行放到同一個歷史條目中。這樣使得多行命令可以容易地重新修改。
dotglob
如果設置的話, bash 會把以 `.' 開始的文件名包含在路徑名擴展的結果中。
execfail
如果設置的話,非交互的 shell 如果不能執行作為參數提供給內建命令 exec 的文件時將不會退出。交互的 shell 在
exec 失敗時不會退出。
expand_aliases
如果設置的話,別名被擴展,就像上面 ALIASES 中講到的一樣。這個選項在交互 shell
中是默認啟用的。
extglob
如果設置的話,將允許上面 Pathname Expansion 中提到的擴展模式匹配特性。
histappend
如果設置的話,在 shell 退出時,歷史列表將追加到以 HISTFILE 的值為名的文件之后,而不是覆蓋文件。
histreedit
如果設置的話,并且正在使用 readline, 用戶可以重新修改失敗的歷史替換。
histverify
如果設置的話,并且正在使用 readline, 歷史替換的結果不會立即傳給 shell 解釋器。結果行被加載到
readline 編輯緩沖區,允許進行進一步的修改。
hostcomplete
如果設置的話,并且正在使用 readline, bash 將試著對正在進行補全的包含 的詞進行主機名補全 (參見上面的
READLINE 中的 Completing 段落)。這是默認允許的。
huponexit
如果設置的話,在交互的登錄 shell 退出時 bash 將向所有作業發出 SIGHUP
信號。
interactive_comments
如果設置的話,將允許在交互 shell 中遇到以 # 開頭的詞時忽略這個詞和一行中所有剩余的字符 (參見上面的 COMMENTS 注釋)。 這個選項是默認允許的。
lithist
如果設置的話,并且允許了 cmdhist 選項,多行的命令在保存到歷史中時將包含新行符,而不是在可能的地方使用分號。
login_shell
如果 shell 作為登錄 shell 啟動,將設置這個選項 (參見上面的 啟動(INVOCATION))。
這個值不可修改。
mailwarn
如果設置的話,并且 bash 正在檢測上次檢測以來被存取過的郵件,將顯示 ``The mail in mailfile
has been read''(mailfile 中的郵件已被讀取)。
no_empty_cmd_completion
如果設置的話,并且正在使用 readline, 試圖在空行上執行補全時, bash 不會搜索 PATH
來查找可能的補全。
nocaseglob
如果設置的話, bash 進行路徑擴展時使用大小寫不敏感方式匹配文件名(參見上面的 Pathname Expansion
路徑擴展)。

nullglob
如果設置的話, bash 將允許不匹配任何文件的模式擴展為空字符串而不是它們自身(參見上面的 Pathname Expansion
路徑擴展)。

progcomp
如果設置的話,將啟用可編程補全功能 (參見上面的 Programmable Completion)。這個選項是默認啟用的。
promptvars
如果設置的話,提示字符串要經過上面 PROMPTING
中描述的擴展,然后還要經過變量和參數擴展。這個選項是默認啟用的。
restricted_shell
shell 設置這個選項,如果它是以受限模式啟用的 (參見下面的 受限的shell(RESTRICTED
SHELL)
章節)。這個值不能修改。在執行啟動文件時,它不會被重置,使得啟動文件可以得知 shell 是否是受限的。
shift_verbose
如果設置的話,內建命令 shift 在偏移量超過位置參數的個數時打印一條錯誤消息。
sourcepath
如果設置的話,內建命令 source (.) 使用 PATH
中的值來查找包含作為參數給出的文件。這個選項默認是啟用的。
xpg_echo
如果設置的話,內建命令 echo 默認擴展反斜杠轉義序列。
suspend [-f]
掛起 shell 的執行,直到收到一個 SIGCONT 信號。選項 -f
表示如果這是一個登錄 shell,那么不要提示,直接掛起。返回值是 0,除非 shell 是登錄 shell 并且沒有指定 -f,
或者沒有啟用作業控制。
test expr

[ expr ]
返回狀態值 0 或 1,根據條件表達式 expr 的求值而定。每個操作符和操作數都必須是一個單獨的參數。表達式使用上面 條件表達式(CONDITIONALEXPRESSIONS) 中的操作構造。

表達式可以用下列操作符結合,以優先級的降序列出。

! expr
值為真,如果 expr 為假。
( expr )
返回 expr 的值。括號可以用來超越操作符的一般優先級。
expr1 -a expr2
值為真,如果 expr1expr2 都為真。
expr1 -o expr2
值為真,如果 expr1expr2 為真。

test[ 使用基于參數個數的一系列規則,對條件表達式進行求值。

0 arguments
表達式為假。
1 argument
表達式為真,當且僅當參數非空。
2 arguments
如果第一個參數是 !,表達式為真,當且僅當第二個參數為空。如果第一個參數是上面 條件表達式(CONDITIONALEXPRESSIONS)
中列出的單目條件運算符之一,表達式為真,當且僅當單目測試為真。如果第一個參數不是合法的單目條件運算符,表達式為假。
3 arguments
如果第二個參數是上面 條件表達式(CONDITIONALEXPRESSIONS)
中列出的二進制條件操作符之一,表達式的結果是使用第一和第三個參數作為操作數的二進制測試的結果。如果第一個參數是
!,表達式值是使用第二和第三個參數進行雙參數測試的結果取反。如果第一個參數是 (,第三個參數是
),結果是對第二個參數進行單參數測試的結果。否則,表達式為假。這種情況下 -a-o 操作符被認為二進制操作符。
4 arguments
如果第一個參數是 !,結果是由剩余參數組成的三參數表達式結果取反。否則,表達式被根據上面列出的優先級規則解釋并執行。
5 或更多 arguments
表達式被根據上面列出的優先級規則解釋并執行。
times
對 shell 以及 shell 運行的進程,打印累計的用戶和系統時間。返回狀態是 0。
trap [-lp] [arg] [sigspec ...]
當 shell 收到信號 sigspec 時,命令 arg 將被讀取并執行。如果沒有給出 arg 或者給出的是
-, 所有指定的信號被設置為它們的初始值 (進入 shell 時它們的值)。如果 arg 是空字符串, sigspec
指定的信號被 shell 和它啟動的命令忽略。如果 arg 不存在,并且給出了 -p 那么與每個 sigspec
相關聯的陷阱命令將被顯示出來。如果沒有給出任何參數,或只給出了 -p, trap 將打印出與每個信號編號相關的命令列表。每個
sigspec 可以是 <signal.h> 定義的信號名,或是一個信號編號。如果 sigspec
EXIT (0),命令 arg 將在 shell 退出時執行。如果
sigspecDEBUG, 命令 arg 將在每個簡單命令
(simple command,參見上面的 SHELL GRAMMAR) 之后執行。如果
sigspecERR, 命令 arg
將在任何命令以非零值退出時執行。如果失敗的命令是 untilwhile 循環的一部分, if 語句的一部分,
&&|| 序列的一部分,或者命令的返回值是通過 ! 轉化而來, ERR 陷阱將不會執行。選項 -l 使得 shell 打印信號名和對應編號的列表。 shell
忽略的信號不能被捕捉或重置。在子進程中,被捕捉的信號在進程創建時被重置為初始值。返回值為假,如果 sigspec 非法;否則
trap 返回真。
type [-aftpP] name [name ...]
沒有選項時,指示每個 name 將如何被解釋,如果用作一個命令名。如果使用了 -t 選項, type
打印一個字符串,內容是如下之一: alias, keyword, function, builtin,
file , 如果 name 分別是一個別名,shell 保留字,函數,內建命令或磁盤文件。如果沒有找到
name, 那么不會打印任何東西,返回退出狀態假。如果使用了 -p 選項, type 返回如果 name
作為命令名,將被執行的磁盤文件名;或者返回空,如果 ``type -t name'' 不會返回 file. 選項 -P
選項強制對每個 name 搜索 PATH, 即使 ``type -t name''
不會返回 file. 如果命令在散列中, -p-P 將打印散列的值,而不是 PATH 中首先出現的那一個文件。如果使用了 -a 選項, type
打印所有包含可執行的名稱 name 的場合。結果包括別名和函數,當且僅當沒有同時使用 -p 選項。使用 -a
時不會查找散列中的命令表。選項 -f 阻止 shell 進行查找,就像在內建命令 command 中一樣。 type
返回真,如果找到了任何參數。什么都沒找到則返回假。
ulimit [-SHacdflmnpstuv [limit]]
在支持它的系統上,對 shell 和它啟動的進程,提供對可用資源的控制。選項 -H-S
指定為所給資源設定的硬性和柔性限額。硬性限額在設置后不能增加;柔性限額可以增加,直到與硬性限額相等。如果沒有給出 -H-S
選項,將同時設置硬性和柔性限額。 limit 的值可以是一個數字,單位是指定資源的單元值,或者是特殊值 hard,
soft, 或 unlimited 之一,意思分別是當前硬性限額,當前柔性限額和沒有限額。如果忽略了 limit,
將打印出當前對資源的柔性限額值,除非給出了 -H 選項。當指定多于一個資源時,限額名稱和單位將在值之前打印出來。其他選項按照如下意義解釋:
-a
報告所有當前限額
-c
core 文件的最大值
-d
進程數據段的最大值
-f
shell 創建的文件的最大值
-l
內存中可以鎖定的最大值
-m
常駐內存的最大值
-n
打開的文件描述符最大個數 (大多數系統不允許設置這個值)
-p
管道大小,以 512 字節的塊為單位 (這個值可能不能設置)
-s
棧的最大值
-t
cpu 時間總數的最大值,以秒計
-u
用戶可以運行的最大進程數
-v
shell 可用的虛擬內存總量的最大值

如果給出了 limit, 它將是指定資源的新限額 (選項 -a 只顯示它們)。如果沒有給出選項,則假設有 -f。
值的遞增間隔是 1024 字節,除了 -t 單位是 秒, -p 單位是 512 字節的塊個數, -n
-u 是不可調節的值。返回 0,除非給出了非法的選項或參數,或者在設置新的限額時發生了錯誤。

umask [-p] [-S] [mode]
用戶創建文件的掩碼被設置為 mode. 如果 mode 以數字開始,它被解釋為一個八進制數;否則被解釋為類似于
chmod(1) 接受的符號形式的模式掩碼。如果忽略了 mode, 將打印當前掩碼值。選項 -S
使得掩碼以符號形式打印;默認輸出是八進制數。如果給出了 -p 選項,并且忽略了 mode,
輸出將是一種可以重用為輸入的形式。返回值是 0,如果成功改變了模式,或者沒有給出 mode。其他情況返回假。
unalias [-a] [name ...]
從已定義的別名列表中刪除 name。如果給出了 -a 將刪除所有別名定義。返回值是真,除非給出的 name
不是已定義的別名。
unset [-fv] [name ...]
將每個 name 對應的變量或函數刪除。如果沒有給出選項,或者給出了 -v 選項, name 僅包括
shell 變量。只讀的變量不能被取消定義。如果給出了 -f 選項, name 僅包括 shell
函數,函數的定義將被刪除。每個被取消定義的變量或函數都被從后續命令的環境中刪除。如果 RANDOM,
SECONDS, LINENO,
HISTCMD, FUNCNAME,
GROUPS, 或者 DIRSTACK
中的任何一個被取消定義,它們將喪失特殊的屬性,即使它們后來被重新定義。退出狀態是真,除非 name 不存在或是只讀的。
wait [n]
等待指定的進程,返回它的終止狀態。 n 可以是進程 ID 或一個作業號;如果給出的是作業號,將等待作業的管道中所有進程。如果沒有給出
n, 將等待所有當前處于激活狀態的子進程,返回狀態是 0。如果 n 指定了不存在的進程或作業,返回狀態是
127。否則,返回狀態是所等待的最后一個進程或作業的退出狀態。

總結

以上是生活随笔為你收集整理的BASH BUILTIN COMMANDS 内建命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。