Shell程式設計學習筆記 2

2021-03-31 08:56:31 字數 1076 閱讀 4664

email: blog.oliver@gmail.***

2023年11月

原文出處: http://blog.csdn.***/yayong

用shell實現乙個命令或者工具的時候,對命令的引數進行合法性檢查是很有必要的。

k shell是unix上最適合程式設計的shell,所以後面的例子都是ksh實現的。

例1:下面

的函式實現了檢查入口引數是否是大於0的整數:

check_numberic( )

這個函式利用了bc(1)命令對輸入引數的返回值進行判斷,比較簡練。

通過例1,可以掌握ksh的下列語法:

1. 函式的語法:

functionname( )

'`check_numberic $1

stty $1

if [ $? -ne 0 ]; then

echo "$1 must be a baudrate/n"

exit 1

else

stty $default_baudfi}

首先,波特率必須是乙個正整數,例2利用了例1的函式

check_numberic做了檢查。

然後,利用stty

對輸入引數是否為乙個波特率值進行判斷

。比起先利用陣列預置所有可能的波特率,再進行比較判斷的方法,這種方法簡潔了許多。

例2用到了shell的預定義變數 $?。

4. 預定義變數

預定義變數和環境變數相類似,是在shell一開始時就定義了的變數。

不同的是,使用者只能使用這些變數而不能重定義。所有預定義變數都是由$符和另乙個符號組成的:

$#:位置引數的數量

$*:所有位置引數的內容

$?:命令執行後返回的狀態

$$:當前程序的程序號

$!:後台執行的最後乙個程序號

$0:當前執行的程序名

其中,「$?」用於檢查上乙個命令執行是否正確(在unix/linux中,命令退出狀態為0表示該命令正確執行,任何非0值表示命令出錯)。

「$$」變數最常見的用途是用作臨時檔案的名字以保證臨時檔案不會重複。

shell程式設計學習筆記(1)

shell程式設計學習2

朱老師物聯網大講堂 學習筆記 shell中呼叫linux命令 上節使用的就是直接使用,下面是通過呼叫這個值的方式,pwd pwd 注意此處是反引號,esc下面。echo pwd 結果就列印出了當前目錄是什麼,強調一點的是,如果我們希望我們的結果與其它的結合,就會用到雙引號,這沒錯,在這裡要特別說的是...

shell程式設計學習筆記

c語言中文網 shell教程 學習這篇文章時,發現它在單引號和雙引號有什麼區別上寫的不夠準確,於是網上查詢資料 shell程式設計中單引號,雙引號,各種括號的區別 學習這篇部落格時,發現寫的還是不夠準確,繼續網上查詢資料 雙引號作用與單引號類似,區別在於它沒有那麼嚴格。單引號告訴shell忽略所有特...

shell學習筆記2

注意 shell變數賦值 兩邊不能有空格。shell中小括號,大括號結構和有括號的變數,命令的用法 1.加乙個大括號來限定變數名稱的範圍,例如 var test echo aa testaa 2.命令替換 cmd shell掃瞄一遍命令列,發現了 cmd 結構,便將 cmd 中的cmd執行一次,得到...