Script i wyjście jest jak poniżej:polecenia tee nie działa zgodnie z oczekiwaniami (z odczytu i echo)
Scenariusz:
#!/bin/bash
#tee_with_read.sh
function tee_test()
{
echo "***This should be printed first but it is not***"
read -r -p "Enter input : "
echo "You entered : $REPLY"
}
tee_test | tee -a logfile
wyjściowa:
$ ./tee_with_read.sh
Enter input : ***This should be printed first, but it is not***
"My Input"
You entered : "My Input"
staram się dołączyć wyjście do pliku logu. Ale jak widać w ouput, wygląda na to, że pierwszy odczyt zostaje sprawdzony, a następnie echo, które nie jest zgodne z oczekiwaniami.
Używam Git Bash w wersji 3.1.23 na Windows 10. Ponieważ nazwany potok nie jest dostępny w tej wersji, nie mogę użyć nazwanego potoku do celów rejestrowania.
'read' wyświetla jego wiersz na stderr. Twoje 'echo' wyświetla się na standardowe wyjście. – bishop