Bash+Quick+Reference 筆記1

 突然發現,自己學習了shell這麼久,一直沒有找到入門的方法,於是現在瘋狂地要使用最後一個辦法,那就是讀外文文獻,然後學習。下面的內容是我所見到自己理解的,希望讀者自行斟酌是否要去看,以免產生誤解。now,beginning:

Invoking The Shell:

bash [option] [auguments]

option:

-c str這個是指bash來執行str這個命令,比如:bash -c ls。原文是從str讀取cmd。

-D --dump-strings

注:至今爲止我看不懂這個選項的含義: -D  A list of all double-quoted strings preceded by $ is printed on  the standard output.  These are the strings that are subject to language translation when the current locale is not C or POSIX.  This implies the -n option; no commands will be executed.

[Debian]igi(116329739)  17:20:56

-D  類似 -n ,不會執行這個腳本,但會輸出以$"" 包起來的字符串,$""包起來的字符串和本地化的東西有關

這個是別人給我的解答,完全正確。我寫了個腳本里麪包含了echo $"eleven always make it",還有一個ping g.cn。用bash -D $0(腳本名字)的時候沒有ping的執行,執行echo後面的內容。

continuing:

-O option:使得shopt命令選項能夠生效。簡單的shopt命令就是查看shell內部特性的開啓狀態其中的option就是執行shopt後顯示的變量內容。不再贅述。比如執行shopt命令後,第二個變量是cdspell,狀態爲off,那麼可以使用bash -O cdspell來打開這個變量擴展。然後再次執行shopt來查看狀態是否爲on。

-i :建立一個交互型shell,交互型shell和受限制的shell在執行shopt後所顯示的變量擴展內容是不一樣的,所以,就導致了某些命令是不能使用的,在你執行bash -r之後,cd命令是不能使用的,而你執行後bash -i變爲交互型shell的時候,cd是可用的。這樣明白了吧。順便把-r選項也一起講解了。注意,如果你執行了-i和-r選項後,想要退出的話不能使用logout,因爲非登錄shell,所以必須使用exit。

-P:這個選項用來忽略系統環境變量的也就是忽略/etc/profile等其他系統及環境變量,只是使用$HOME/.bash_profile下的變量。舉個例子:就是在/etc/profile下加入一個變量wo=eleven,source /etc/profile,註銷(logout):,再次登入後,首先echo $wo,執行bash -P,再次執行echo $wo然後,就發現一個有輸出,一個沒有輸出了。

-s選項:講述的是從命令從標準輸入,也就是鍵盤。輸出內建命令執行的結果是從文件描述符號1,而其他shell命令的輸出是從文件描述符號2.也就說,錯誤和其他shell命令的輸出都走文件描述符2,只有內建命令的正確輸出走文件描述符1。關於標準輸出和輸入的內容讀者自行去查閱資料在此不贅述,以後設計相關會進行講解。

--debugger調試:對我沒用,沒有研究。

--dump-po-strings:引用原文:same as -D option,but output in GNU gettext format

--help 

--init-file file --rcfile file 引用原文:Use file as the startupfile instead of ~/.bashrc for interactive shells.自我定製啓動讀取的環境變量,而不是讀取用戶,這個也許在特殊shell腳本中有用吧,筆者不是很瞭解。但是含義確是這個意思。明天繼續寫。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章