Я пытаюсь добиться этого:
PIPE=""
if [ $DEBUG = "true" ]; then
PIPE="2> /dev/null"
fi
git submodule init $PIPE
Но $PIPE
gets интерпретируется как аргументы командной строки для git. Как показать stdout
и stderr
только в режиме отладки, а в режиме без отладки передать только stderr
?
Спасибо за отличные идеи. В итоге сделал это, что перенаправляет все на /dev/null, если не в режиме отладки, и печатает как stderr, так и stdout в режиме отладки:
# debug mode
if [[ ${DEBUG} = true ]]; then
PIPE=/dev/stdout
else
PIPE=/dev/null
fi
git submodule init 2>"${PIPE}" 1>"${PIPE}"
$PIPE
обратными кавычками? `$ ТРУБА` - person aardvarkk   schedule 29.05.2017line 17: 2>: command not found
- person knutole   schedule 29.05.20173.2.57(1)-release
- person aardvarkk   schedule 29.05.2017$DEBUG="true"
, и я не получил никаких ошибок о том, что команда не найдена... - person aardvarkk   schedule 29.05.2017fatal: /dev/null: '/dev/null' is outside repository
, когдаPIPE="> /dev/null"
и работаюgit submodule init $PIPE
- person knutole   schedule 29.05.2017git submodule init `eval $PIPE`
- person aardvarkk   schedule 29.05.2017