上文连接: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