2011-01-18 10 views
8

Obecnie używam skryptu na tarło demona:Czy jest łatwiejszy sposób wysyłania klucza ENTER na ekranie GNU?

screen -r user -X stuff "spawn daemon" 
screen -r user -X eval "stuff \015" 

Czy istnieje prostszy sposób, aby wysłać klucz („\ 015”) wejść, lub w rzeczywistości lepszy sposób to zrobić? (Muszę użyć ekranu).

Zakładam, że ponieważ nie dołączam ekranu, nie będę w stanie uzyskać wyniku/wyniku polecenia "demon odradzania". Czy to jest poprawne?

Odpowiedz

10

zawsze robię to tak:

screen -r user -X stuff "spawn daemon^M" 

gdzie mogę uzyskać^M naciskając CTRL-V, a następnie Enter, w wierszu poleceń. W bashu i vimie można użyć ctrl-v, aby uniknąć znaków takich jak Enter, które w przeciwnym razie miałyby specjalny efekt.

4

Jeśli chodzi o drugie pytanie, można włączyć rejestrowanie i odczytać z pliku dziennika.

+0

Dzięki. Zapomniałem o tym. – Dijkstra

1

Przesyłanie CR:

echo -e "Some text\015" > /dev/pts/1 

Przesyłanie LF:

echo -e "Some text\012" > /dev/pts/1 

wymienić ten numer ścieżki urządzenia z rzeczywistej liczby ekranu.

2

Rozwiązanie to działa w moim przypadku:

screen -r user -X stuff "spawn daemon$(printf \\r)" 
+0

Dość elegancki. Zwłaszcza, że ​​możesz przechowywać ten znak w zmiennej 'n =" $ (printf \\ r) "', a później używać go do pisania tylko '$ n' –

Powiązane problemy