변수와 숫자를 사용하는 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[@]}"

항상 나에게 기대되는 값을 인쇄합니다.

관련 정보