shell基础(三)
声明:该笔记为up主 泷羽的课程笔记,本节链接指路。
警告:本教程仅作学习用途,若有用于非法行为的,概不负责。
位置参数
shell脚本中位置参数是最基本的参数传递方式,当执行一个脚本时,可以在脚本后添加参数,参数在脚本内部可以通过特殊变量来访问。
echo "脚本名称是: $0"
echo "第一个参数是: $1"
echo "第二个参数是: $2"
参数个数
- $#:代表参数的个数
echo "传递的参数个数为: $#"
-
∗ 和 *和 ∗和@变量可以将所有传递的参数作为一个整体来处理,但它们之间有一些细微的差别。
-
$*会将所有参数视为一个整体,当被双引号(")包围时,它会把所有参数组合成一个字符串,各个参数之间以第一个参数的分隔符(通常是空格)来分隔。例如:
echo "使用\$*输出所有参数: $*"
- $@在被双引号包围时,会将每个参数视为独立的个体。
#!/bin/bash
for arg in "$@"; do
echo "参数是: $arg"
end
执行时就会将每个参数单独输出,效果等同于$*。
shift操作
shift命令用于将位置参数向左移动一位,原来的$1消失,$2变为$1,$3变为$2,以此类推。
echo "第一个参数是: $1"
shift
echo "新的第一个参数是: $1"
特殊参数
- $$:当前进程的PID。
- $?:程序执行完成之后的返回值。成功返回0,失败返回1。
数学运算
expr的运算符
- +: 加号,表示加法运算。
- -:减号,表示减法运算。
- *:或 × - 乘号,表示乘法运算。
- / 或 ÷ : 除号,表示除法运算。
- % :百分号,表示取模运算,即求余数。
- // :双斜杠,表示整除运算,结果为整数。
- ^ 或 ***** : 乘方符号,表示幂运算,即一个数的几次方。
- = : 等号,用于赋值或比较两个表达式是否相等。
- == :- 双等号,用于比较两个表达式是否相等。
- !=: 不等于符号,用于比较两个表达式是否不相等。
- <: 小于符号,用于比较一个表达式是否小于另一个表达式。
- (> :大于符号,用于比较一个表达式是否大于另一个表达式。)
- <=:小于等于符号,用于比较一个表达式是否小于或等于另一个表达式。
-( >=:大于等于符号,用于比较一个表达式是否大于或等于另一个表达式。) - &&:逻辑与符号,用于布尔表达式,表示两个条件都为真时结果才为真。
- ||:逻辑或符号,用于布尔表达式,表示两个条件中至少有一个为真时结果为真。
- !:逻辑非符号,用于布尔表达式,表示条件的否定。