Подумайте, стоит ли устанавливать set -x
для подробного входа в stderr в подробном режиме. Если это так, то подробный вывод может быть достигнут с помощью no-op :
, подобного этому.
while getopts "v" o
do case "$o" in
v) set -x;;
esac
done
echo "This will always be output" # goes to stdout
: this will only be output in verbose mode # goes to stderr
:
оценивает его аргументы, но ничего не делает с ними.
set -x
покажет, что было оценено на stderr при выполнении каждого оператора.
Он также позволяет разбивать подробные и стандартные журналы по потокам.
Может быть, это не то, что вам нужно, но это может быть удобным трюком.