我有一些冗长的脚本互相调用,我希望它们的输出更具描述性。这个想法是为每个脚本自定义 echo 命令,如下所示。
我的问题是,如何使它非递归,使用echo
?
这是 script1.sh
#!/bin/bash
#Original version:
#function echo(){ echo $(basename $0 .sh): $1; }
#Version after fixes
function echo(){ builtin echo -n "$(basename $0 .sh): ">&2; builtin echo $@ ; }
echo Info
./script2.sh
这是 script2.sh
#!/bin/bash
#Original version:
#function echo(){ echo $(basename $0 .sh): $1; }
#Version after fixes
function echo(){ builtin echo -n "$(basename $0 .sh): ">&2; builtin echo $@ ; }
echo Info
exit 0
所以输出应该是:
>./script1.sh
script1: Info
script2: Info
- - 编辑
奖金:
>./script1.sh 2> /dev/null
Info
Info