上文連接:Shell 腳本編程入門(一)
3.Shell的位置參數變量
1)使用語法 ./helloShell.sh [參數1] [參數2] [參數3] ...
2)在shell 腳本內部獲取入參的方式如下:
$n (n爲數字,$0代表命令本身,$1-$9 代表第一到第九個參數,十個以上參數需要使用如${10})
$* (返回命令行的所有參數,把所有參數看成一個整體)
$@ (也返回命令行所有參數,不過把每個參數區分對待,個人理解類是於數據或集合)
$# (返回所有參數個數)
4.Shell的預定義變量
1)$$ 當前的進程號
2)$! 後臺運行的最後一個進程號
3)$? 最有一次執行的命令的狀態 0正確執行 非0則爲不正確
5.Shell的運算符
1) 基本語法
$((運算式)) 或 $[運算式]
expr m + n ps:運算符中間要有空格
expr +,-,\*,/,% 加減乘除取餘
6.Shell的條件判斷
1) [ 判斷條件 ] 注意判斷條件兩邊都有空格
7.Shell的IF判斷
語法格式:if [ 判斷條件 ]
then 程序
elif [ 判斷條件 ]
then 程序
fi
7.Shell的CASE判斷
語法格式 case $變量名 in
"值1")
echo 程序
;;
"值2")
echo 程序
;;
...
*)
echo 缺省程序
esac
8.Shell的FOR循環
語法格式1: for 變量名 in 值1 值2 ...
do
程序
done
語法格式2:for((初始值;判斷條件;變化值))
do
程序
done
9.Shell的WHILE循環
語法格式 while [ 判斷條件 ]
do
程序
done
10.Shell的控制檯用戶交互
語法 read [選項] [參數名]
-p 指定讀取時的提示語
-t 等待時間
示例:#!/bin/bash
read -t 10 -p "請在10秒內輸入一個數字" NUM1
echo “你輸入的數字是$NUM1”
11.Shell的系統函數
1)basename [路徑|字符串] [suffix] 返回完整路徑最後 / 的部分,常用於獲取文件名 ,也可以用於字符處理
suffix選項演示:
[pig@hadoop1 shell]$ basename /home/pig/shell/helloShell.sh .sh
輸出 helloShell
2)dirname [文件絕對路徑] 返回除去文件名 剩下的路徑
示例:[pig@hadoop1 shell]$ dirname /home/pig/shell/helloShell.sh
輸出 /home/pig/shell