1.$符号基本用法:
通常情况下,在工作中用的最多的有如下几项:
$0:Shell 的命令本身
$1 到 $9:表示 Shell 的第几个参数
$? :显示最后命令的执行情况
$#:传递到脚本的参数个数
$$:脚本运行的当前进程 ID 号
$*:以一个单字符串显示所有向脚本传递的参数
$!:后台运行的最后一个进程的 ID 号
$-:显示 Shell 使用的当前选项
2.引用变量:-------------${}-------------------
语法:$x或${x}
echo $x
echo "x = $x" out:x = 1024
echo "x = ${x}xy" out:x = 102xy #使用 ${ } 作为单词边界
3.${#str}获取字符str长度
语法:${#str}
echo "str.length = ${#str}" #str="hello world"
4.执行shell命令----------$()-------------------
语法:$(command) 需要用在shell语句中间,无法单独使用
echo $(date)
echo $(ping www.baidu.com -c 2) #字符串没有换行
echo $(ls) #字符串没有换行
5.表达式求值------------$[]-------------------
语法:$[a+b] 需要用在shell语句中间,无法单独使用
$[a+b] 不能在命令行单独输出,要用在其它语句中间,而expr计算表达值可以单独输出
echo $[a+b]
expr $a + $b
6.整数运算、逻辑判断------------$(())-------------------
语法:$((a+b*c)) if ((a > b)) 支持C语言运算符和表达式
echo $((a+b*c))
if (( a < b )); then echo "abcd" ; fi
7.调用shell脚步文件输入参数:
语法:$1 $2 $3
echo 'echo $1 $2 $3' > ping.sh
echo $1 $2 $3
cmd:sh ping.sh 1 2 3