在 Bash 中获取可选的输入参数
有时我们需要创建一个动态函数,可以在不传递任何参数或不传递参数的情况下在两者中执行。 为此,我们需要为这些参数设置一些默认值,以便如果在调用函数时参数没有传递,它可以使用默认参数。
本文将演示如何为函数创建可选的输入参数。 我们还将查看一些示例和解释,以使该主题更容易理解。
在 Bash 中获取可选的输入参数
在下面的示例中,我们将打印默认值。 我们声明了 4 个包含默认值的变量。
我们示例的代码如下所示:
VAR1=${1:-foo}
VAR2=${2:-bar}
VAR3=${3:-1}
VAR4=${4:-$(date)}
echo "$VAR1"
echo "$VAR2"
echo "$VAR3"
echo "$VAR4"
代码执行后,我们将得到以下输出:
foo
bar
1
Sat Aug 13 14:59:31 +06 2022
现在让我们看一个高级示例。 在下面共享的示例中,我们创建了一个可以使用 0、1 和 2 参数的函数,并在函数内部设置了默认值。
现在,我们示例的代码如下所示:
FindSum()
{
VAR1=${1:-40}
VAR2=${2:-50}
if [ $# -lt 1 ];
then
echo "The provided parameters are: $VAR1, $VAR2."
elif [ $# -lt 2 ];
then
echo
echo "The provided parameters is: $VAR2."
else
echo
echo "No parameters provided"
VAR1=$1
VAR2=$2
fi
SUM=$((VAR1+VAR2))
echo "The sum of $VAR1 and $VAR2 is $SUM"
}
FindSum
FindSum 40
FindSum 70 30
让我们逐个解释代码。
首先,我们使用行 VAR1=${1:-40}
和 VAR2=${2:-50}
设置变量的默认值。 之后,我们检查是否给出了这些变量的值。
如果值不提供它们,我们必须使用它的默认值; 否则,使用用户给定的值。
最后,我们刚刚使用行 SUM=$((VAR1+VAR2))
执行了求和运算并打印了结果。 在这里,我们通过 FindSum 调用了不带任何参数的函数。
同样,我们使用 FindSum 40 行调用带有一个参数的函数。我们使用 FindSum 70 30 行调用带有两个参数的函数。
The provided parameters are: 40, 50.
The sum of 40 and 50 is 90
The provided parameters is: 50.
The sum of 40 and 50 is 90
No parameters provided
The sum of 70 and 30 is 100
本文中使用的所有代码都是用 Bash 编写的。 它只会在 Linux Shell 环境中工作。
相关文章
在 Bash 中运行 find -exec 命令
发布时间:2024/03/14 浏览次数:127 分类:操作系统
-
本文将演示如何使用 find 命令的 -exec 参数来使用 find 命令定位文件中的任何文本。