簡単にするために、私の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
どうすればこれを機能させることができますか?