声明!
学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[B站泷羽sec](https://space.bilibili.com/350329294)
shell脚本参数传递
以该脚本为例:
echo 执行的文件名是:$0
echo 第一个参数是:$1
echo 传递的参数作为一个字符串显示:$*
echo 传递的参数独立作为每个字符串显示:$@
echo 传递到脚本的参数个数是:$#
echo 最后命令的退出状态:$?
echo 脚本运行的当前进程ID是:$
直接运行的结果为:
可以向脚本程序传递一个或多个参数,其中$1中的数字可依次递增的,如$1,$2,$3等等
($0较为特殊,表示文件的名称)
上述脚本中由于未指定第一个参数的内容所以输出为空,可通过”sh 脚本名 参数名“的命令格式来进行参数输出
也可通过修改脚本来进行多参数的输出
由此得出
参数传递一般为$n(n表示数字 可递增)
$*就是将参数当作统一的字符串显示出来
$@是将每个字符串当作独立的字符串显示,这也是$*和$@ 的区别,
$#代表参数的个数
$?是查看命令执行状态的 如果显示为0 那么命令就是正常执行的,其他数字就是出错
$$就是查看脚本当前进程id的
shell的脚本数学运算
可以用expr “数字 运算符 数字” 的命令格式计算,在运算乘法时,需要使用\*进行转义
(相当于在数字附近的所有符号都需要用空格隔开)
对于带有括号的混合运算,也要对括号进行转义
也可直接将运算表达式赋值给变量