shell简介
Shell簡介
一.Bash的產生
bash是一個為GNU項目編寫的Unixshell。它的名字是一系列縮寫:Bourne-AgainSHell—這是關于Bourneshell(sh)的一個雙關語(Bourneagain/bornagain)。Bourneshell是一個早期的重要shell,Bash是許多Linux發行版的默認Shell。由StephenBourne在1978年前后編寫,并同Version7Unix一起發布。bash則在1987年由BrianFox創造。在1990年,ChetRamey成為了主要的維護者。
bash是大多數Linux系統以及MacOSXv10.4默認的shell,它能運行于大多數Unix風格的操作系統之上,甚至被移植到了MicrosoftWindows上的Cygwin系統中,以實現windows的POSIX虛擬接口。此外,它也被DJGPP項目移植到了MS-DOS上。
事實上,還有許多傳統UNIX上用的Shell,例如tcsh、csh、ash、bsh、ksh等等,ShellScript大致都類同,當您學會一種Shell以后,其它的Shell會很快就上手,大多數的時候,一個ShellScript通常可以在很多種Shell上使用。
bash是大多數Linux系統以及MacOSX默認的shell,它能運行于大多數類Unix風格的操作系統之上,甚至被移植到了MicrosoftWindows上的Cygwin系統中,以實現Windows的POSIX虛擬接口。此外,它也被DJGPP項目移植到了MS-DOS上。
bash的命令語法是Bourneshell命令語法的超集。數量龐大的Bourneshell腳本大多不經修改即可以在bash中執行,只有那些引用了Bourne特殊變量或使用了Bourne的內置命令的腳本才需要修改。bash的命令語法很多來自Kornshell(ksh)和Cshell(csh),例如命令行編輯,命令歷史,目錄棧,$RANDOM和$PPID變量,以及POSIX的命令置換語法:$(...)。作為一個交互式的shell,按下TAB鍵即可自動補全已部分輸入的程序名,文件名,變量名等等。
CN2(CNCN)是互聯網的第二平面(俗稱二平面),是相關網絡運營商下一代多業務的承載網絡,主要用于海外地區。CN2采用的核心技術是IP/MPLS,海底光纜直接連接大陸,省去了跳轉國際網絡的延遲。
二.參數說明編輯-c字符串:若用-c參數,則bash從字符串中讀入命令,如果字符串后還有變量就被設定為從$0開始的位置參數。-i:若用-i參數,則bash是交互的。-s:若用-s參數,則bash從標準輸入中讀入命令(在執行完-c帶的命令之后。)直到輸入exit。-:單一的號表明參數執行完畢,并且屏蔽此后所跟參數,后面的所有變量都被看作是文件名。-norc:如果bash是交互的,則不執行個人初始化文件:-/.bashrc,如果bash作為sh來運行,這個參數缺省是關閉的。-noprofile:不執行系統范圍的啟動文件/etc/profile也不執行個人的啟動文件-/.bash_profile,-/.bash_login或-/.profile,缺省情況下,bash作為登錄的shell時以這些文件作為啟動文件。--refile文件名:如果bash是交互的,則以此文件作為bash的啟動文件。替代-/.bashrc。-version:在bash開始時顯示此bash的版本號。-quiet:不顯示版本號和其他信息,這是缺省值。-login:激活bash,偽裝為登錄shell。-nobraceexpansion:不執行大括號擴展。-nolineediting:在交互狀態下不使用GNU的readline庫去讀取命令。即取消了命令行編輯功能。-posix:改變bash的行為,使其符合Posix1003.2規定的標準。
總結
- 上一篇: Linux学习中压缩包格式有哪些?
- 下一篇: 淮海战役中解放军为什么大败?