Zauważ, że echo "$var" | commandoperacja ' oznacza, że standardowe wejście jest ograniczone do linii, której (-ych) echo (-ych) zawiera echo. Jeśli chcesz, aby terminal był podłączony, musisz być bardziej wyrafinowany:
{ echo "$var"; cat - ; } | command
( echo "$var"; cat - ) | command
Oznacza to, że pierwsza linia (wiersze) będzie zawartością, $varale reszta będzie pochodzić z catodczytu jego standardowego wejścia. Jeśli polecenie nie robi nic zbyt wymyślnego (spróbuj włączyć edycję wiersza poleceń lub uruchom tak, jak vimrobi), to będzie dobrze. W przeciwnym razie musisz naprawdę polubić - myślę, że expectlub jedna z jego pochodnych może być odpowiednia.
Notacje wiersza poleceń są praktycznie identyczne - ale drugi średnik jest konieczny w nawiasach klamrowych, a nie w nawiasach.
$PATH? Więccatmożna to wymienić/bin/cat "$@" | tee /attacker/can/read/this/file