以下笔记学习来自B站泷羽Sec:
B站泷羽Sec
1.脚本代码
echo This file name is:$0
echo The first parameter is:$1
echo 传递的参数作为一个字符串显示:$*
echo 传递的参数独立作为每个字符串显示:$@
echo 传递到脚本的参数个数是:$#
echo 最后命令的退出状态:$?
echo 脚本运行的当前进程ID是:$$
可以向脚本传递一个或者多个参数,脚本中的$1里面的数字是可以一次递增的,比如$1,$2,$3,其中的$0比较特殊,表示的是文件的名称
2.参数介绍
$*
:将参数当作统一的字符串显示出来
$@
:是将每个字符串当作独立的字符串显示
∗
和@
的输出结果看起来很相似,实际上并不一样
$#
:代表参数的个数
$?
:查看命令执行状态的,如果显示为0那么命令就是正常执行的,其他数字就是出错了
$$
:查看脚本当前进程id
3.传参
传一个参数
传多个参数
修改脚本
echo This file name is:$0
echo The first parameter is:$1
echo The second parameter is:$2
echo The third parameter is:$3
echo 传递的参数作为一个字符串显示:$*
echo 传递的参数独立作为每个字符串显示:$@
echo 传递到脚本的参数个数是:$#
echo 最后命令的退出状态:$?
echo 脚本运行的当前进程ID是:$$
4.数学运算
在shell编程中需要使用expr
进行运算
4.1 加减法运算
计算5+5(需要使用空格隔开),不使用空格则会原式输出
expr 5 + 5
4.2 乘法运算
计算5 * 5(需要使用反斜杠\将乘号* 转义)
expr 5 \* 5
4.3 除法运算
计算20除10
expr 20 / 10
4.4 取余运算
计算2222对10取余
expr 2222 % 10
4.5 混合运算
shell编程中会按照先乘除后加减的顺序进行计算
普通混合运算
expr 10 + 5 \* 3
添加括号
如果加括号的话也需要将括号使用反斜杠进行转义
expr \( 10 + 5 \) \* 3
变量与数字的混合运算
需要使用反引号将表达式引起来
name=`expr 10 + 5`
echo $name