2013-04-18 40 views
7

Có cách nào để gửi một cái gì đó giống như một "kết thúc dữ liệu" sau khi thực hiệnLàm thế nào tôi có thể lặp lại/dev/tty?

echo "test" > /dev/tty1

để đạt được "con trỏ đầu vào" trở lại "nhận" thiết bị đầu cuối (trong trường hợp này tty1)?

Ảnh chụp màn hình: http://picload.org/image/acdwigg/tty.png

+0

Không chắc, những gì bạn có nghĩa là bởi 'để đạt được "con trỏ đầu vào" trở lại "nhận" thiết bị đầu cuối (trong trường hợp này tty1)? '(Liên kết ảnh chụp màn hình không hoạt động ở đây ..) – anishsane

+0

Sau khi một lệnh được thực hiện, $ PS1 là dấu nhắc. một cái gì đó như $: hoặc user @ server. nếu tôi echo một cái gì đó để một cửa sổ thiết bị đầu cuối, trong trường hợp này tty1, tôi phải đẩy "nhập" trong cửa sổ thiết bị đầu cuối (tty1). – inselberg

+0

Xin vui lòng viết một câu hỏi rõ ràng, Một số người dùng (bao gồm cả tôi) không thể hiểu nó một cách chính xác – Jav

Trả lời

1

Sử dụng echo > /dev/tty bạn không thể đạt được điều đó. Nhưng bạn có thể làm điều đó bằng cách gửi một tín hiệu đến quá trình đang sử dụng tty đó.

Ví dụ:

kill -s SIGINT `ps -ft pts/2 | grep pts/2 | cut -d ' ' -f 5` 
0
$ echo "test" > /dev/tty 
test 
 
Cygwin supports the following character devices commonly found on POSIX systems: 

/dev/tty The current controlling tty of a session. 

Special filenames

+0

không chắc chắn làm thế nào ví dụ này giúp tôi ... – inselberg

1

Bạn không thể làm điều đó như thế. Toán tử chuyển hướng '>' làm cho nó sao cho đầu vào tiêu chuẩn thời gian thực thi WHOLE là lệnh echo và bạn không thể thay đổi nó sau này.

Bạn có thể muốn suy nghĩ lại nhu cầu và triển khai của mình.

Các vấn đề liên quan