使用变量和数值的 Bash 或条件

使用变量和数值的 Bash 或条件

我有两个变量$filetr_exec$filetr_dryrun。我想 在或 未设置时附加--dry-run到数组。这意味着如果两者都设置了,我仍然附加到.oserfiletr_dryrun == 1filetr_exec--dry-runoser

需要如下内容,但不知道如何检查变量和数值的存在。

if [[ -z $filetr_exec ]] || (( filetr_dryrun == 1 )); then
  oser+=( --dry-run )
fi

答案1

正如 ilkkachu 所说,这应该有效。

#!/bin/bash

filetr_exec="" #or 1
filetr_dryrun="" #or 1
oser=(--test)

if [[ -z "$filetr_exec" ]] || (( filetr_dryrun == 1 )); then
  oser+=( --dry-run )
fi

printf '%s\n' "${oser[@]}"

总是为我打印预期值。

相关内容