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執行一次,得到...