我顯然不期望得到正確的結果。發送輸出到tty不會產生預期結果
$ man less
在另一終端:
$ ps u
# Find that pid of less is 45783
$ lsof -p 45783
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
less 45783 lust cwd DIR 1,4 442 46 /usr/share/man
less 45783 lust txt REG 1,4 137712 9698 /usr/bin/less
less 45783 lust txt REG 1,4 600576 9397 /usr/lib/dyld
less 45783 lust txt REG 1,4 303120384 2911813 /private/var/db/dyld/dyld_shared_cache_x86_64
less 45783 lust 0 PIPE 0xffffff8025bf38c0 16384
less 45783 lust 1u CHR 16,2 0t82970 763 /dev/ttys002
less 45783 lust 2u CHR 16,2 0t82970 763 /dev/ttys002
less 45783 lust 3r REG 1,4 4589 286688 /private/etc/man.conf
less 45783 lust 4r CHR 2,0 0t0 306 /dev/tty
$ echo "q" > /dev/ttys002
在那個man less
在打印q和一個換行運行,而不是退出手冊頁的顯示這一點上,終端。
我怎樣才能讓它發送原始的「q」?管道不工作,我得到「zsh:permission denied:/ dev/ttys002」。切換echo
爲cat
並鍵入它也沒有工作。
好像你不感興趣的輸出發送到一個tty你的問題的標題說,而是在注射輸入到tty - 一個非常不同的事情! – Celada
@Celada將**程序的輸出作爲輸入發送到終端會話*? –
確實。正如我所說,這與將輸出發送到終端非常不同! – Celada