bash - 如何有条件地向 shell 脚本添加标志?

标签 bash scripting

我想在我的 bash 脚本中运行带有或不带 -v 标志的命令,具体取决于是否定义了环境变量 $VERBOSE。像这样:

#!/bin/bash

/usr/local/bin/mongo-connector \
  -m $MONGO_HOST \
  -t $NEO_URI \
  [if $VERBOSE then -v ] \
  -stdout

最佳答案

为了可读性,考虑使用数组来存储参数。

args=(
  -m "$MONGO_HOST"
  -t "$NEO_URI"
  -stdout
)
if [[ -v VERBOSE ]]; then
    args+=(-v)
fi
/usr/local/bin/mongo-connector "${args[@]}"

关于bash - 如何有条件地向 shell 脚本添加标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42985611/

相关文章:

c - cat 命令(没有参数)如何复制它的标准输入?

用于 ffmpeg 转换的 bash 脚本不循环

python - Xcode 中的 LLDB Python 脚本

regex - 递归地向svn添加特定的源文件类型

linux - 循环遍历目录中的文件并使用 HEAD 命令

linux - 如何使用我的 debian 软件包安装软件包?

linux - 找到没有它的二进制文件的路径

linux - SSH 并在脚本中运行命令

scripting - WinSCP - 如何识别文件是否传输成功

linux - 搜索文件并将结果作为附件发送