说明:本文为学习笔记,如有雷同,纯属意料之中😜
本篇文章主要介绍shell传递参数的方法以及shell的基本运算符,这些常用的需掌握。
shell传递参数
1.向脚本传递参数
在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……($0代表执行文件的文件名,$1,$2,$3…代表的是第几个参数)
向脚本传递参数用法,新建一个param.sh文件,编辑内容如下:
#!/bin/bash
echo "shell 传递参数示例:"
echo "执行的文件名:$0"
echo "第一个参数:$1"
echo "第二个参数:$2"
echo "第三个参数:$3"
执行的时候加上可执行权限,并且传递参数,执行结果如下:
2.特殊字符处理参数
处理参数的特殊字符 | 含义 |
---|---|
$# | 传递到脚本的参数个数 |
$* | 传递参数作为一个字符串显示;如"$*“用「”」括起来的情况、以"$1 $2 … $n"的形式输出所有参数 |
$$ | 脚本运行的当前进程ID号 |
$! | 后台运行的最后一个进程ID号 |
$@ | 传递参数作为一个字符串显示;如"$@“用「”」括起来的情况、以"$1" “ 2 " … " 2" … " 2"…"n” 的形式输出所有参数 |
$- | 显示shell使用的当前选项 |
$? | 显示最后命令的退出状态(0表示没有错误,其他任何值表明有错误) |
echo "-----------特殊字符处理参数--------------"
echo "\$#参数个数为:$#"
echo "\$*传递参数作为一个字符串显示:$*"
echo "\$$脚本运行的当前进程ID号:$$"
echo "\$!后台运行的最后一个进程ID号:$!"
echo "\$@传递参数作为一个字符串显示:$@"
echo "\$-显示shell使用的当前选项:$-"
echo "\$?显示最后命令的退出状态:$?"
echo "---------\$*和\$@的区别-----------"
for i in "$*"; do
echo "\$*的输出:$i"
done