0

簡単にするために、私のbashスクリプトの上部には次のコードがあります

#!/bin/bash
#if no arguments passed
if [ -z "$1" ]; then
    DEBUG='1>/dev/null'
else
    DEBUG='1>&1'
fi

次に、スクリプトの残りの部分全体で、このような呼び出しがあります

echo Doing something here! $DEBUG

ポイントは、誰かが引数なしでスクリプトを呼び出した場合 ( ./myScript.sh)、何もエコーしないことです。
しかし、パラメータ ( ./myScript.sh whathaveyou) を渡せば、echoステートメントは正常に動作するはずです。

残念ながら、しかし、echo Doing something here! $DEBUGとして評価されています

echo Doing something here! "1>&1"

それ以外の

echo Doing something here! 1>&1

どうすればこれを機能させることができますか?

4

3 に答える 3