gpt4 book ai didi

bash - 计算 bash 中命令行变量的数量

转载 作者:行者123 更新时间:2023-12-05 09:17:21 31 4
gpt4 key购买 nike

我正在尝试制作一个验证参数数量的用法函数,我尝试了下面的代码,但即使我提供了三个参数,条件也始终为假。此外,echo $# 也产生 0。

#!/bin/bash
programname=$0
function usage {

if [ $# -ne 3 ]
then
echo "Usage: $programname filename LogFile milestoneFile"
echo $#
exit 1
fi
}
usage

最佳答案

在您的代码中,函数 usage使用 $# 计算函数的参数,而不是程序的参数。

你可以这样改写:

#!/bin/bash
programname=$0
function usage {

if [ $1 -ne 3 ]
then
echo "Usage: $programname filename LogFile milestoneFile"
echo $1
exit 1
fi
}
usage $#

现在您使用 1 个参数调用您的函数,其中包含脚本的参数计数。 $1在功能上等于$#在脚本中(当你运行 ./script.sh 时等于 0,如果你运行 ./script.sh one two three 等则等于 3)

关于bash - 计算 bash 中命令行变量的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48264359/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com