Linux Bash Shell中如何将计算出的天数插入输出语句?
解决方法
你需要用命令替换来获取年龄天数的计算结果,再把结果嵌入到目标语句中。这里有两种简单的实现方式:
方式1:保留bc命令的写法
把原脚本最后一行的echo "$age * 365 | bc"替换成:
echo "Your age in days is: $(echo "$age * 365" | bc)"
$(...)会执行括号内的命令,并把输出结果替换到这个位置,这样就能直接把计算出的天数插入到语句里。
方式2:用Bash内置算术扩展(更高效)
如果输入的年龄是整数,直接用Bash自带的$((...))做算术运算即可,不需要调用外部的bc命令:
echo "Your age in days is: $((age * 365))"
这种方式不用启动额外进程,执行速度更快,适合整数计算的场景。
修改后的完整脚本
#!/bin/bash echo "Enter first name: " read first_name echo "Enter last name: " read last_name echo "Enter age: " read age echo "Your full name is $first_name $last_name" if [ "$age" -lt 20 ]; then echo "You're still under 20 years old." elif [ "$age" -ge 20 -a "$age" -lt 30 ]; then echo "You are in your twenties." elif [ "$age" -ge 30 -a "$age" -lt 40 ]; then echo "You are in your thirties." elif [ "$age" -ge 40 ]; then echo "You are older than 40." fi # 这里以方式2为例,也可替换为方式1的写法 echo "Your age in days is: $((age * 365))"
内容的提问来源于stack exchange,提问作者Tristan
相关产品推荐
相关产品推荐

