Bash脚本是Linux系统下常用的编程工具,它可以帮助我们实现各种自动化和批处理的任务。但是,如果我们想让我们的脚本更加灵活和通用,我们就需要学会如何在脚本中获取和使用命令行参数。命令行参数是在执行脚本时传递给脚本的一些值,它们可以让我们在不修改脚本代码的情况下改变脚本的行为或输出。本文将为你介绍如何在bash脚本中获取和使用命令行参数,以及一些相关的变量和技巧。
示例1:使用”$#”计算参数的总数
创建一个包含以下脚本的Bash文件,它将计算参数的总数,并使用”for”循环打印参数值。
#!/bin/bash
# Linux迷 www.linuxmi.com
#存储参数的数量
len=$#
echo "参数总数: $len"
echo "参数值为:"
#打印参数值
for val in $@
do
echo $val
done
在使用参数值66、93139和123执行脚本后,将出现以下输出:
示例2:根据参数长度打印参数值
创建一个包含以下脚本的Bash文件,它会计算传递给脚本的参数总数,并根据参数数量打印参数值。如果没有传递任何参数给脚本,将会打印错误消息。
#!/bin/bash
# Linux迷 www.linuxmi.com
#存储参数的数量
len=$#
#检查参数的总数
if [ $len -eq 0 ]; then
echo "未提供任何参数"
fi
#初始化计数器
counter=0
#根据计数器的值打印参数值
while (( $counter $len ))
do
if [ $counter -lt 1 ]; then
echo $1
elif [ $counter -lt 2 ]; then
echo $2
elif [ $counter -
lt 3 ]; then
echo $3
fi
((counter++))
done
输出中脚本执行了四次。当没有给出参数时,打印了错误消息。当给出一个、两个和三个参数值时,打印了参数值。
示例3:计算参数值的平均数
创建一个Bash文件,包含以下脚本,用于计算参数值的平均数。脚本将计算传递给它的五个参数值的平均值。脚本中使用”bc”命令来计算平均值。如果没有传递参数给脚本,则会打印错误消息。
#!/bin/bash
# Linux迷 www.linuxmi.com
#检查参数的总数
if [ $# -eq 5 ]; then
#计算参数值的总和
sum=$(($1+$2+$3+$4+$5))
#计算平均值
avg=$(($sum/5 | bc -l))
#打印平均值和参数值
echo "参数值为:$1 $2 $3 $4 $5"
echo "平均值:$avg"
else
#打印错误消息
echo "参数的
总数必须为5。"
fi
脚本在输出中执行了两次。当没有给定参数时,会打印错误消息。当给定了五个参数值时,会打印参数值的平均值。
示例4:基于参数值打印错误消息
创建一个Bash文件,其中包含以下脚本,根据”if”条件打印三条消息之一。第一个”if”条件检查参数的数量是否为2。第二个”if”条件检查参数值的长度是否小于5。第三个”if”条件检查第二个参数是否为正数。
#读取参数值
name=$1
price=$2
#计算第二个参数的长度
len=${#name}
#检查参数总数
if [ $# -ne 2 ]; then
echo "参数总数必须为2个。"
exit
#检查第一个参数的长度
elif [ $len -lt 5 ]; then
echo "产品名称必须至少包含5个字符。"
exit
#检查第二个参数的值
elif [ $2 -
lt 0 ]; then
echo "价格值必须为正数。"
exit
fi
#打印参数值
echo "产品$name的价格为TK. $price"
脚本在输出中执行了四次。当没有参数传递时,会打印错误消息”参数的总数必须为2″。当第一个参数的长度小于5时,会打印错误消息”产品名称必须至少为5个字符长”。当第二个参数为负数时,会打印错误消息”价格值必须为正数”。
通过本文,你已经了解了如何在bash脚本中获取和使用命令行参数,以及一些相关的变量和技巧。你可以使用这些知识来编写更加灵活和通用的bash脚本,实现各种复杂和有趣的功能。当然,这只是bash脚本提供的众多特性和选项中的一部分,如果你想深入学习bash脚本和Linux系统编程,还需要不断地探索和实践。希望本文能够对你的学习和工作有所帮助,也欢迎你分享你自己使用或发现的其他实用的bash技巧。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !