迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

在 Bash 中获取可选的输入参数

作者:迹忆客 最近更新:2023/06/10 浏览次数:

有时我们需要创建一个动态函数,可以在不传递任何参数或不传递参数的情况下在两者中执行。 为此,我们需要为这些参数设置一些默认值,以便如果在调用函数时参数没有传递,它可以使用默认参数。

本文将演示如何为函数创建可选的输入参数。 我们还将查看一些示例和解释,以使该主题更容易理解。


在 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 中 fork

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Bash 中 fork

发布时间:2023/06/10 浏览次数:85 分类:操作系统

本文介绍了用于fork新的异步子进程的 C/C++ 分叉系统调用的 Bash 等效项(即子 shell)的介绍性教程。在 Bash 中fork C/C++中的系统调用是创建一个新的进程,即调用进程的子进程。

在 Bash 中继续下一行

发布时间:2023/06/10 浏览次数:161 分类:操作系统

这篇简短的文章是关于在 Linux 或 UNIX 中执行 Bash 脚本时对规则的解释。 在进入正题之前,让我们简单介绍一下 Bash 编程。在 Bash 中继续下一行

Bash 中 Syntax Error Near Unexpected Token 错误

发布时间:2023/06/09 浏览次数:67 分类:操作系统

本文演示如何识别和更正由于 Bash 脚本中的不可见字符而导致的意外令牌语法错误。Bash 中 Syntax Error Near Unexpected Token 错误 有时,语法上看起来完美无缺的 Bash 脚本不起作用。 你会得到一个模

修复 Bash 中未找到 Mkvirtualenv 命令的错误

发布时间:2023/06/09 浏览次数:102 分类:操作系统

本文演示了如何修复 Bash 中的 mkvirtualenv: command not found 错误。修复 bash 中的 mkvirtualenv: command not found 错误 如果你试图在 Python 中创建一个虚拟环境并看到类似这样的东西,

解决在 Bash(或 Cygwin)上找不到 R 命令

发布时间:2023/06/09 浏览次数:84 分类:操作系统

本文将帮助您了解错误消息以及如何解决或防止此类错误再次发生。解决bash: '\r': command not found With Notepad++ 不同的操作系统行为不同,Windows 通常是不同的。 如前所述,\r 字符的存在是导致此错

解决 Nodemon Command Not Found

发布时间:2023/06/09 浏览次数:122 分类:操作系统

本文将讨论如何解决和处理 nodemon command not found 错误。使用npm解决Nodemon Command Not Found 通过 npm,我们可以安装有用的功能库、包和工具来改进我们在 NodeJS 平台上的开发。

Bash 中的错误处理

发布时间:2023/06/09 浏览次数:134 分类:操作系统

本文介绍了 bash 中的错误处理。 请记住,了解退出代码、选项(如 errexit 和 trap)使我们能够构建健壮的脚本并更有效地管理 bash 问题。Bash 中的退出代码 基于退出代码处理错误是检测命令失败

Bash 中 Curl 命令的 Urlencode 数据

发布时间:2023/06/09 浏览次数:175 分类:操作系统

本文将教我们如何在 bash 中为 curl 命令对数据进行 urlencode。 让我们从 curl 命令的语法开始。Bash 中的 curl 命令 curl 命令的基本语法如下:

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便