12-输出
原创大约 2 分钟
hello world
#!/bin/bash
a="hello,world!"
echo "$a"
# 单引号不会输出变量
echo '$a'# bash hello.sh
hello,world!
$a求和
#!/bin/bash
checkNum(){
# local变量作用域在函数里
local num=$1
# expr 执行基本算术运算和字符串操作
expr $num + 1 &>/dev/null
if [[ $? -ne 0 ]];then
echo "$num was not a number."
exit 2
fi
}
read -p "please input first num: " num1
checkNum $num1
read -p "please input second num: " num2
checkNum $num2
sum=$(( num1 + num2))
echo "Sum: $sum"# bash sum.sh
please input first num: 4
please input second num: 5
Sum: 9
[[ $? -ne 0 ]]这行代码是一个条件判断语句,用于检查上一个命令的退出状态码是否不等于 0。这里是它的解释:
[[和]]:这是 Bash 中的条件判断结构,用于测试条件。$?:这是一个特殊变量,包含了上一个命令的退出状态码。在 Linux 系统中,命令执行成功时退出状态码通常为 0,失败时则为非 0 值。-ne:这是一个数值比较运算符,表示 "not equal",即不等于。0:这是我们要比较的值,即期望的退出状态码,表示成功。因此,
[[ $? -ne 0 ]]表示如果上一个命令的退出状态码不等于 0,则条件成立,即上一个命令执行失败。在这段脚本中,如果expr $num + 1这个命令执行失败(即参数不是一个数字),则会输出错误消息并退出脚本。