如果你使用的是&符號而不是分號,則Shell將在后臺執(zhí)行其前面的命令,這意味著,Shell不用等到該命令完成,就可以繼續(xù)執(zhí)行下一個命令。
Shell識別三種基本命令:內(nèi)建命令、Shell函數(shù)以及外部命令:
內(nèi)建命令就是由Shell本身所執(zhí)行的命令。有些命令是由其必要性才內(nèi)建的,例如cd用來改變目錄,read會將來自用戶的輸入數(shù)據(jù)傳遞給Shell變量。另一種內(nèi)建命令的存在則是為了效率,其中最典型的就是test命令,另外還有I/O命令,例如echo與printf
Shell函數(shù)是功能健全的一系列程序代碼,以Shell語言寫成,它們可以像命令那樣引用
外部命令就是由Shell的副本(新的進程)所執(zhí)行的命令
變量
變量賦值的方式為:先寫變量名稱,緊接這=字符,最后是新值,中間完全沒有任何空格
當你想取出Shell變量的值時,需于變量名稱前面加上$字符。當所賦予的值內(nèi)包含空格時,請加上引號:
當變量座位第二個變量的新值時,不需要使用雙引號,不過,當你將幾個變量連接起來時,就需要使用引號了。

printf
printf命令的完整語法分為兩部分:
printfformat-string [arguments ...]
第一部分是一個字符串,用來描述輸出的排列方式,最好為此字符串加上引號。此字符串包含了按字面顯示的字符以及格式聲明,后者是特殊的占位符,用來描述如何顯示相應的參數(shù)
第二部分是與格式申明相對應的參數(shù)列表,例如一系列的字符串或變量值。格式申明分成兩部分:百分比符合和指示符
格式字符串中,一般字符會按字面顯示。轉(zhuǎn)移序列則像echo那樣,解釋后在輸出相應的字符
基本的I/O重定向
標準輸入/輸出(standard I/O)可能是軟件設(shè)計原則里面最重要的概念了。
概念是:程序應該有數(shù)據(jù)的來源端、數(shù)據(jù)庫的目的端以及報告問題的地方,它們分別被稱為標準輸入、標準輸出以及標準錯誤輸出
基本查找命令
默認路徑因系統(tǒng)而異,不過至少包含/bin和/usr/bin
將個人的bin目錄附加到$PATH:PATH=$PATH:/home/user/bin
要讓修改永久生效,在.profile文件中把你的bin目錄加入$PATH,而每次登錄時,Shell都將讀取.profile文件
簡單的執(zhí)行跟蹤
執(zhí)行跟蹤功能打開后,Shell顯示每個被執(zhí)行到的命令,并在前面加上一個“+”,一個加號后面跟一個空格
可以在腳本里,用set-x命令將執(zhí)行跟蹤的功能打開,然后在使用set +x關(guān)閉它
愛華網(wǎng)


