Misalkan Anda memiliki emulator terminal (T1) yang terbuka dengan PID 6350.
Dari terminal lain, ketik perintah ini (C1):
echo "lsn" > /proc/6350/fd/0
Ini menulis ls
dan baris baru di T1 tetapi tidak menjalankannya. Mengapa?
Saya juga mencoba menggunakan cat|bash
dengan echo "lsn" > /proc/catid/fd/0
tapi masih belum dieksekusi.
Bagaimana saya bisa menggemakan perintah ke terminal lain dan menjalankan perintah?
kemungkinan jawaban :
$ mkfifo toto;
$ bash < toto;
$ echo "ls" > toto;
Dalam hal ini Anda tidak dapat menulis lagi secara langsung di terminal (semuanya ditampilkan dengan cara yang sama seperti yang ditampilkan perintah (C1) di terminal ini.
Jawaban yang Diterima:
Ada utilitas baris perintah yang disebut ttyecho
yang dapat mengirim perintah ke terminal lain (tty/pts) dan menjalankan perintah tersebut.
sudo ttyecho -n /dev/pts/5 ls
Lihat:Utilitas untuk Mengirim Perintah atau Data ke Terminal Lain (tty/pts)
Lihat juga:ttyecho
kode sumber di github.
Perintah tty menarik lainnya adalah selector
, pencocokan pola interaktif real-time di konsol yang memperbarui buffer input tty.
# selector examples
selector -v -x @ <(find . -maxdepth 2 -type d | awk '{print $0"@cd "$0}')
selector -v -x @ <(grep -E -o 'http[^ ]+' fileWithURLS)
Lihat:pemilih – PENCARIAN DINAMIS DI KONSOL