『壹』 創建一個shell腳本,檢查命令行參數的個數,如果參數不是三個,顯示一條錯誤信息,如果為三個,則顯示參數
shell 中有一個特殊變數$# 表示包含參數的個數
if [ $# -ne 3 ] ; then # 如果參數不為3個
echo 'error'
else
echo $1,$2,$3
fi
這樣就行
『貳』 shell編程可以在if中寫多行命令語句嗎
可以,命令之間用分號隔開。
『叄』 linux中設計一個shell腳本程序可以接受命令行輸入的參數執行相應的菜單命令
echo "------------------------"
echo "1、命令1"
echo "2、命令2"
echo "3、命令3"
echo "------------------------"
echo "請輸入要執行的菜單命令(1/2/3):"
read com
case $com in
1)
命令1
;;
2)
命令2
;;
3)
命令3
;;
*)
echo "輸入命令錯誤"
;;
『肆』 unix常用SHELL命令有哪些
$n shell 程序命令行中的第n 個參數,n為0-9,當n 為0時表示命令名
$# 命令行中參數的個數
$$ 本shell 命令的進程號
$! 最後一個後台進程的代號
$* 所有命令行參數
$@ 與$*相似,但其值不同
$HOME 注冊時進入的目錄
$PATH 命令的搜索目錄
$PS1 系統第一個提示符,一般為$
$PS2 系統第二個提示符,一般為>
shift [n] 將命令行參數往左移一位,但$0不變
變數名=字元串 將字元串賦予變數名,以後可用$變數名引用該變數
export 變數名表 將變數名表所列變數傳遞給子進程
read 變數名表 從標准輸入讀字元串,傳給指定變數
echo 變數名表 將變數名表指定的變數顯示到標准輸出
set 顯示設置變數
env 顯示目前所有變數
if 條件執行,語法是:
if 條件
then 指令
fi
case 分支執行,語法是:
case 字元串變數 in
值1) 指令...
值2) 指令...
...
esac
while 條件為真時循環,語法是:
while 條件
do
指令...
done
until 條件為假時循環,語法是:
until 條件
do
指令...
done
for 變數在表中時循環,語法是:
for 變數名 in 字組表
do
指令...
done
break 從循環中退出,語法:break n
n 表示跳出循環的層數
continue 繼續循環,語法:continue n
n 表示退到包含continue 語句的第n 層繼續循環
exit 退出shell
func shell內部可定義函數,語法:
func 函數名()
{
指令...
}
expr 將其後的串解釋為表達式並計算其值,運算符前後需有空格
trap 捕獲信號,語法 trap n ,捕獲信號 n (信號說明參見kill)
test 條件測試,語法 test [選項] 參數選項
-f 文件 若文件存在且可讀則真
-w 文件 若文件存在且可寫則真
-x 文件 若文件存在且可執行則真
-f 文件 若文件存在且為普通文件則真
-d 文件 若文件存在且為目錄文件則真
-p 文件 若文件存在且為fifo文件則真
-s 文件 若文件存在且不空則真
-z 串 若串長度為0則真
-n 串 若串長度不為0則真
串 若串不是空串則真
串1=串2 若串1等於串2則真
串1!=串2 若串1不等於串2則真
n1 -eq n2 若n1與n2數值相當則真
n1 -ne n2 若n1與n2數值不相當則真
n1 -lt n2 若n1小於n2則真
n1 -le n2 若n1小於等於n2則真
n1 -gt n2 若n1大於n2則真
n1 -ge n2 若n1大於等於n2則真
可用 與 -a 或 -o 非 ! 將條件表達式連接起來