声明
通过学习 泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频,做出的文章如涉及侵权马上删除文章
笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负
一、脚本程序传递参数
脚本如下:
echo 执行的文件名是: $0
echo 第一个参数是: $1
echo 传递的参数作为一个字符串显示: $*
echo 传递的参数独立作为每个字符串显示: $@
echo 传递到脚本的参数个数是: $#
echo 最后命令的退出状态: $?
echo 脚本运行的当前进程ID是: $$
可以向脚本程序传递一个或多个参数,脚本出的$1,里面的数字是可以依次递增的,比如$1,$2,$3等等,其中的$0(比较特殊表示文件名称)
那么好 我们利用 vim 写入脚本3.sh,再利用sh 3.sh执行文件,我们看看执行结果:
执行的文件名是:3.sh
上面显示第一个参数为空,因为我们没有给它指定任何一个参数,我们给他指定一个参数name,sh 3.sh name
然后第一个参数就为name
那么假设我们加入第二个,第三个参数,修改脚本
vim 3.sh
指定参数名分别为 sh 3.sh 1 2 3
由此得出 参数传递一般为
$n (n表示数字 可递增)
$* 就是将参数当作统一的字符串显示出来,
$@ 是将每个字符串当作独立的字符串显示,这也是$*和$@的区别
$# 代表参数的个数
$? 是查看命令执行状态的,如果显示为0,那么命令就是正常执行的,其他数字就是出错了
$$ 就是查看脚本当前进程id的
二、shell编程中进行数学运算
1.数学运算
shell编程在数学运算的时候是相当麻烦的,python中的数学运算可能很简单
在shell编程中 利用expr进行运算
expr 7+18 回显 7+18 那么该怎么运算呢 expr 7 + 18 这样写就行了 7(空格)+(空格)18
以上方法适用于加法减法
如果用乘法就会报错
expr 20 * 10 (乘法是用* python直接*就行了 要用进行转义)
那么如果是除法就有两种方法 一种是 /取整数,%取余数
expr 20 / 10
expr 20 % 10
2.混合运算
expr 5 + 10 * 7 (shell会按照先乘除后加减运算)
expr ( 5 + 10 ) * 7
如果有括号这样直接运算就会报错,括号也要进行转义
expr * 2
3.运算与变量结合
num=`expr 5 + 6`
echo $num
原文始发于微信公众号(泷羽Sec- 火乐):红队-shell编程基础(三)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论