Вы можете написать
nohup bash -c 'mosquitto_sub -v -u Test -P Test123 -t "#" | while read -r line ; do
echo -e "$(date "+%Y-%m-%d %H:%M:%S") $line"
done | tee -a MQTT.txt'
Однако на самом деле вам нужно screen
или tmux
. Эта программа позволит вам запустить команду, выйти из системы и после входа в систему просто подключиться к старому «уже закрытому» терминалу.
Очень простой сеанс экрана в вашем примере будет выглядеть так:
screen
mosquitto_sub -v -u Test -P Test123 -t '#' | while read -r line ; do
echo -e "$(date "+%Y-%m-%d %H:%M:%S") $line"
done | tee -a MQTT.txt
# Hit "Ctrl-a d", it will detach the screen
Теперь вы можете закрыть терминал и выйти из системы, после входа снова запустить screen -R
.