引言
- 该系列为个人经常需要将项目代码工程化,所以需要用到shell脚本,前段时间的每日一题沸点活动虽然写了不少,但是因为要满足活动要求,所以很多函数等语法无法介绍完全,该文将介绍一个函数具体详细一些的用法
命令行传参
- 该场景在很多时候都会用到,就是执行文件中部分参数需要是一个变量,执行的时候根据命令行位置分别传入对应的参数来完成
#!/bin/bash
echo "Shell 传递参数实例!";
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";
- 假设该shell文件名为test.sh,执行
sh test.sh 1 2 3命令
- 注意test.sh为第0个参数,以此类推
- 关于多个参数一般都是加空格使用位置对应传参,或者使用设置好的参数名称来进行传参
- 输出结果
Shell 传递参数实例!
执行的文件名:./test.sh
第一个参数为:1
第二个参数为:2
第三个参数为:3
关于$符号得其他用法
$# 和 $*的作用
- $#表示统计输入的参数个数(不包含第0个参数)
- $*表示将传递的所有参数使用字符串的形式返回
echo "参数个数为:$#";
echo "传递的参数有:$*";
参数个数为:3
传递的参数有:1 2 3
$* 和 $@
- ∗与@其实差不多,都是返回所有的参数
- 区别在于∗返回的是所有参数作为一个字符串返回,@是将每一个参数都作为一个结果来返回
echo "传递的参数有:$*";
echo "传递的参数有:$@";
传递的参数有:"1 2 3"
传递的参数有:"1" "2" "3"
结尾
- 除了上述几个其实还有一些,如
- $?:显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误
- $!:后台运行的最后一个进程的ID号
- 其他的也没咋用过啦,用的时候再补充