shell
最早的是bsh,然後基礎上產生csh以及ksh。
綜合2種的優點,產生了現在的bash。
主要功能:
1.作業控制 檢視作業資訊以及調整作業的執行方式等。
2.別名功能 用alias命令用來為乙個命令簡歷另乙個名稱,他最主要的功能室使用乙個姓新的名稱來代表固定引數在內的shell命令。
3.命令歷史 可以檢視命令歷史功能,並重複執行這些命令。
4.命令列編輯功能 能能夠方便使用者在中斷編輯輸入命令列。
5.功能鍵自定義功能 允許使用者將常用的命令序列定義為功能鍵,達到一鍵操作的效果。
6.提供更能豐富的變數型別、命令與控制結構。
如果需要使用其他shell只需要在shell命令輸入該shell程式然後執行即可。
shell變數分為:
1.本地變數 如movie=hello ,引用變數的值 echo $movie 就會顯示hello,如果變數本身有空格需用雙引號,move=「hello world」,清除定義為unset movie。
2.環境變數 shell開始執行時就已經定義了的變數。export可以顯示所有的環境變數。
3.位置引數變數 shell語句通過位置引數變數獲得使用者在命令列上附加的引數 共有9個,$1-$9.($0表示程式本身,不是位置引數)
$#表示引數的個數。如果超過9個則第九個機器以後的引數將被作為乙個字串賦給$9變數。如果執行shift引數可以擠掉第乙個引數,後面的引數將以此前移乙個位置。
4.預定義變數 shell內部已經定義好的變數,不能手動更改,由shell根據系統環境的變化自動賦值。
$# 傳遞到指令碼的引數的數量
$* 顯示傳遞到指令碼的所有引數內容
$? 命令執行後返回的狀態,0表示成功,非零表示失敗
$$ 當前程序的程序號
$! 後台執行的最後乙個程序號
$0 當前執行的程序名
環境變數中比較特殊的是path和ps1變數
path變數決定了shell將到那些目錄中尋找命令或者程式。如果要執行的命令在$path中就不必輸入命令的完整路徑,如ls、cd、pwd等基礎命令的路徑都已經加入在path中
需要新增命令搜尋目錄方法如下:
path=$path:/some/directory
export path
ps1設定了shell提示符。[\u@\h\w]\$ \u代表使用者名稱 \h代表工作目錄 \$代表提示符
bash常用功能
1.*表示任意多個字元 ?表示單個字元
2.tab可以補全,如輸入的資訊能唯一確定命令或者檔案,按一下tab即可補全命令或者檔名
按兩下tab則顯示以輸入為開頭的 所有檔名
3.命令歷史 按上箭頭顯示最後乙個歷史命令
history | more 可以分頁檢視全部的歷史命令清單
標準輸入輸出
0號檔案 分配給標準輸入檔案 對應鍵盤
1號檔案分配給標準輸出檔案 對應螢幕
2號檔案分配標準錯誤輸出檔案 對應螢幕
重定向輸入重定向以《開頭如命令wc為統計行數、單詞數、字元數,在命令列只鍵入wc時統計標準輸入檔案的。wcwc <<8
>my
>first
>test
>8
3 3 11
輸出重定向以》開頭.如ls -l >file 則為將ls -l的資訊寫入file檔案中,此時會清楚file檔案中的內容然後寫入。以》代表在檔案末尾追加。
管道管道用來將前面命令的輸入傳給後乙個命令的輸入。
如ls -al ./ | wc
48 375 2450
管道可以以重定向操作結合使用。
指令碼shell指令碼的解釋程式就是shell本身。
邏輯運算子 -a 雙目運算子 邏輯與 ,-o雙目運算子邏輯或,-!單目運算子邏輯否。
檔案比較運算子 後接檔名
-e檔案存在為真
-d如果檔案為目錄則為真 (ls可以看到目錄檔案屬性為d)
-f如果檔案為常規檔案則為真 (ls可以看到常規檔案屬性為f)
-l如果檔案為符號鏈結為真 (ls可以看到鏈結檔案屬性為l)
-r/w/x 如果檔案可讀/寫/執行 為真 (對應檔案的三種屬性)
字串比較符
-z str字串長度為0 為真(zero)
-n str字串長度非0 為真(not zero)
str1 != str2 不同為真 ,str1 = str2 相同為真 (注意只有字串可以直接用=)
算數比較運算子
num1 -eq num2 等於(equal),
-ne 不等於(not equal)
-lt 小於(less than)
-le 小於等於(less or equal)
-gt 大於
-ge 大於等於
第三課學習
emi,emc,電池干擾,電池相容 低頻濾波電容,本處採用的是100u發 100微法,能耐16v的電壓 的電容,其主要作用有兩個,乙個是防止瞬間電壓波動,二是提供較為平穩的電源,通常在需要提供電源的地方都可以考慮加上這麼乙個電容。要考慮其耐壓值,一般要超過整個電壓的兩倍以上。第二個是考慮其容值,電容...
python第三課答案 python第三課
字串操作 s alexwusir s1 s.capitalize 首字母大寫 print s1 全大寫,全小寫 s2 s.upper s21 s.lower print s2,s21 大小寫翻轉 s3 s.swapcase print s3 每個隔開 特殊字元或數字 的單詞首字母大寫 s alex ...
python第三課答案 python第三課筆記
以下哪個變數的命名不正確?為什麼?a mm 520 b mm520 c 520 mm d 520 mm 答 c不正確,不能數字開頭 在不上機的情況下,以下 你能猜到螢幕會列印什麼內容嗎?myteacher 小甲魚 yourteacher myteacher yourteacher 黑夜 print ...