Câu trả lời:
Trong trường hợp screen
, bạn có thể sử dụng
screen -S user2/sessionname -p windowname -X stuff "~user1/somescript.sh
"
Thao tác này sẽ nhập văn bản ~user1/somescript.sh
(tham chiếu đến một tệp trong thư mục chính của user1) vào một cửa sổ cụ thể của phiên màn hình đã cho và gửi một ký tự dòng mới.
(Có, dòng thứ hai "
phải ở một dòng mới, nếu không bạn sẽ chỉ gửi văn bản và phải nhấn return trong phiên màn hình. Cách khác, sử dụng $'stuff blah\n'
)
Để làm điều này, bạn sẽ cần có quyền truy cập ghi vào user2/sessionname
; đọc trang hướng dẫn của màn hình để mô tả multiuser
và acladd
.
Trong trường hợp "chạy công cụ trên một tty" chung khác, bạn có thể sử dụng writevt /dev/pts/X sometext
; các writevt
công cụ là một phần của console-tools gói. Nếu distro của bạn sử dụng kbd thay thế, hãy lấy writevt.c
. Điều này là dành riêng cho Linux.
./somescript.sh >& /dev/pts/X
nơi /dev/pts/X
là thiết bị tty thuộc về màn hình user2 của.
Bạn sẽ cần truy cập ghi; điều này có thể được đưa ra bởi user2 với chmod / setfacl hoặc bạn có thể sử dụng sudo
.
( >& file
tương đương với > file 2>&1
, chuyển hướng cả thiết bị xuất chuẩn và thiết bị xuất chuẩn vào tệp đã cho.)
:split
)