Я получаю странное поведение при передаче вывода функции в команду tee
.Первая проблема заключается в том, что я не могу выйти из программы при использовании команды exit
при вызове из функции, переданной по каналу tee
.Например:
myfunction(){
# Some stuff here
exit 1
}
myfunction | tee -a $UPGRADE_LOG
Когда я запускаю приведенный выше код, программа не может завершиться и запускается до завершения.
Другая проблема, с которой я сталкиваюсь, заключается в том, что tee
, кажется, имеет причинунекоторый код для запуска таким образом, что последовательный порядок отменяется.У меня есть следующий вывод:
SHOWING SYSTEM-WIDE AND INSTATNCE MEMORY USAGE:
Are you sure you would like to back up the instance given current memory contraints? [y/n]: Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-root 15G 13G 1.5G 90% /
Log File Size: 24K Total Size to Package: 248K Available Space: 1.5G
Когда он должен работать как:
SHOWING SYSTEM-WIDE AND INSTATNCE MEMORY USAGE:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-root 15G 13G 1.5G 90% /
Log File Size: 24K Total Size to Package: 248K Available Space: 1.5G
Are you sure you would like to back up the instance given current memory contraints? [y/n]:
Все работает правильно, когда не используется tee
.Проблемы, кажется, связаны друг с другом.Есть идеи, почему это так и что мне с этим делать?