Bash 脚本接收两个整型参数34


在 Bash 脚本中,经常需要从命令行接收参数。参数可以是字符串、整型或其他类型的数据。本文将重点介绍如何接收两个整型参数。

接收位置参数

在 Bash 脚本中,位置参数是按其在命令行中出现的顺序分配给特殊变量 $1、$2、$3 等的。因此,要接收两个整型参数,可以在脚本的开头使用以下语法:
#!/bin/bash
num1=$1
num2=$2

这样,当脚本执行时,将从命令行接收两个参数并分别存储在 $num1 和 $num2 变量中。

检查参数类型

接收参数后,通常需要检查其类型,以确保它们是预期的整型。Bash 为此提供了 [[ ]] 运算符。例如,要检查 $num1 是否为整型,可以使用以下语法:
if [[ $num1 =~ ^-?[0-9]+$ ]]; then
# $num1 是整型
else
# $num1 不是整型
fi

这个正则表达式检查 $num1 是否以可选的负号 (-) 开头,后跟任意数量的数字 (0-9)。

转换参数

如果参数不是预期的类型,可能需要将其转换。Bash 为此提供了 bc 命令。例如,要将字符串参数转换为整型,可以使用以下语法:
num1=$(echo $num1 | bc)

这将使用 bc 命令将 $num1 转换为整型,并将其存储回 $num1 变量。

示例脚本

以下是一个示例 Bash 脚本,它接收两个整型参数,并将它们相加:
#!/bin/bash
# 接收参数
num1=$1
num2=$2
# 检查参数类型
if [[ ! $num1 =~ ^-?[0-9]+$ ]] || [[ ! $num2 =~ ^-?[0-9]+$ ]]; then
echo "参数必须为整型"
exit 1
fi
# 转换参数
num1=$(echo $num1 | bc)
num2=$(echo $num2 | bc)
# 计算和显示结果
sum=$((num1 + num2))
echo "两个整数的和为:$sum"

运行此脚本时,需要提供两个整型参数,例如:
./ 10 20

这将输出以下结果:
两个整数的和为:30

2024-12-24


上一篇:Csh 脚本到 Bash 脚本的转换指南

下一篇:Linux Bash 脚本编程:输出当前日期