【发布时间】:2013-10-08 23:25:33
【问题描述】:
为简单起见,我的 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
我怎样才能做到这一点?
【问题讨论】: