У меня есть несколько длинных скриптов, вызывающих друг друга, и я хочу, чтобы их вывод был более описательным. Идея состоит в том, чтобы настроить команду 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