bash參考手冊之六(Bash特性)
6 Bash 特性
這部分描寫敘述Bash獨有的特性。
* ?調用Bash : Bash能夠接受的命令行選項。
* ?Bash啟動文件 : Bash何時及怎樣運行腳本。
* ?交互Shell : 什么是交互式shell。
* ?Bash條件表達式 : 內建命令test用到的表達式元素。
* ?shell算術 : shell變量的算術。
* ?別名 : 給命令還有一個名字。
* ?數組 : 數組變量。
* ?文件夾堆棧 : 訪問過的文件夾歷史。
* ?打印提示符 : 控制PS1字符串。
* ?限制shell : 對shell運行的很多其它控制模式。
* ?Bash POSIX 模式 : 使得Bash的行為更接近POSIX標準。
6.1 調用Bash
bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o option] [-O shopt_option] [argument …]
bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o option] [-O shopt_option] -c string [argument …]
bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o option] [-O shopt_option] [argument …]
全部能夠用于內建命令set(見 Set內建命令 章節)的單個字符的選項。都能夠在調用shell時。作為選項使用。
此外。還有幾個多個字符的選項能夠使用。為了能夠被識別出來,這些選項必須位于命令行的單個字符選項之前。
--debugger
在shell啟動前,為調試器指定配置文件。打開擴展調試模式(見 shopt內建命令 章節,中關于shopt內建命令的 extdebug 選項的描寫敘述>)。
--dump-po-strings
一個列表,由 ‘$’ 引導的全部雙引號包含的字符串,以 GNU gettext PO (便攜對象)文件格式打印在標準輸出。除了輸出格式外。等價于 -D。?
--dump-strings
等價于 -D。
--help
在標準輸出上顯示使用信息。并成功退出。
--init-file filename
--rcfile filename
在交互shell中,從 filename 中運行命令。
(而不是 ~/.bashrc)
--login
等價于 -l 。
--noediting
在交互shell中。不使用GNU Readline 庫(見 命令行編輯 章節)從命令行讀取。
--noprofile
當Bash以登錄shell方式調用時,不加載系統級啟動文件 /etc/profile 。或者全部個人初始化文件 ~/.bash_profile, ~/.bash_login, 或者 ~/.profile。
--norc
在交互式shell中不讀取初始化文件 ~/.bashrc 。假設使用 sh 調用shell時。默認啟用此選項。
--posix
改變Bash中與POSIX標準不同的默認行為,以符合POSIX標準。此選項使得Bash的行為成為POSIX標準的嚴格超集。見 Bash POSIX 模式 章節,關于Bash POSIX 模式的描寫敘述。
--restricted
使得shell成為限制shell(見 限制shell)。
--verbose
等價于 -v 。按原樣打印shell的輸入行。
--version
在標準輸出上顯示當前Bash的實例的版本號信息,并成功退出。
還有幾個單字符的選項,在調用shell時可用。可是內建命令set中不可用。
-c string
處理選項后,從string中讀取和運行命令,然后退出。
全部興許的參數都賦值給位置參數,從$0開始。
-i
強制shell以交互方式執行。交互方式的shell,請參見 交互shell章節。
-l
使得當前的shell的行為。就像直接由登錄調用的。當shell是交互模式時。等價于使用‘exec -l bash’啟動登錄shell。
當shell不是交互式的時候,則運行登錄shell啟動文件。 ‘exec bash -l’ 或者 ‘exec bash --login’ ,會以Bash登錄shell代替當前的shell。參見 Bash啟動文件 章節,關于登錄shell的特殊行為的描寫敘述。
-r
使得shell成為限制shell。(見 限制shell)
-s
假設出現此選項。或者選項處理后。沒有參數了。則從標準輸入讀取命令。
當調用交互式shell時。此選項同意設置位置參數。
-D
一個列表,由 ‘$’ 引導的全部雙引號包含的字符串,被打印在標準輸出上。在當前的locale不是C或者POSIX(見 Locale翻譯)的時候,這些字符串是對應語言的翻譯。
這個選項隱含了 -n 選項,即不運行命令。
[-+]O [shopt_option]
shopt_option 是一個內建命令 shopt 接受的shell選項(見 shopt內建命令)。
假設出現了shopt_option。-O 設置那個選項,而 +O 取消設置。
假設沒有給定 shopt_option,則在標準輸出上打印能被shopt接受的shell選項的名字和值。假設調用選項是 +O,則輸出的格式是能夠重用為輸入的。
--
--符號標識了選項的結束,及取消進一步的選項處理。
全部位于--之后的參數,都被視為文件名稱和參數。
登錄shell是參數0的第一個字符是 ‘-’ 。或者使用 --login選項調用的shell。
交互式shell是啟動參數中沒有選項參數。除非指定了 -s 參數,沒有指定 -c 選項,它的輸入和輸出都指向終端(由isatty(3)確定),或者帶 -i 選項啟動。很多其它信息,請參見 交互式shell 章節。
假設選項處理部分后面還有參數。而且沒有 -c 或者 -s 選項,則第一個參數被當作是包括shell命令的文件名稱(見 shell腳本)。
當Bash以此種方式調用時。$0 被設定為文件名稱,位置參數都設置為興許的參數。Bash從此文件里讀取和運行命令,然后退出。
Bash的退出狀態,是腳本中最后一個被運行的命令的退出狀態。
假設沒有命令運行,則退出狀態為0。
總結
以上是生活随笔為你收集整理的bash參考手冊之六(Bash特性)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (深入.Net平台和C#编程)第七章.上
- 下一篇: 日志服务客户端(logtail)异常检测