automatyzacja ekranu GNU


4

Chciałbym uruchomić ekran GNU, niektóre polecenia powłoki, a następnie otworzyć nowe okna z różnymi poleceniami - wszystko automatycznie ze skryptu. Czy to możliwe?

AKTUALIZACJA

okna ekranowe nie powinny być zamykane po wykonaniu poleceń, chcę tylko zachować sesję ekranową (i odłączyć)

Odpowiedzi:


5

Możesz umieścić swoje polecenia w pliku, np. W myscreenrcnastępujący sposób:

screen command1
screen command2
screen command3

a następnie uruchom screenz -copcją, po której następuje nazwa tego pliku, np.

screen -c myscreenrc

AKTUALIZACJA

w odpowiedzi na zaktualizowane pytanie. Polecenia I były używane do badań screen vim fooi screen vim bar, więc nie widzę problemu ekranu zamykania. Poniższe rozwiązuje problem zamykania ekranu, ale wydaje się to trochę kłopotliwe.

screen bash -c 'ls foo; exec bash -i'
screen bash -c 'ls bar; exec bash -i'

ls było po prostu wygodnym poleceniem do testowania tego problemu.

AKTUALIZACJA # 2

Innym podejściem byłoby uruchomienie polecenia z pliku rc powłoki zamiast z pliku rc ekranu. Wymaga jednak innego pliku dla każdego polecenia. Na przykład, aby uruchomić topw screenoknie takim, że zamknięcie topspowoduje powrót do bashmonitu w tym samym oknie, utwórz plik, wywołaj go runtop, który zawiera następujące elementy:

. ~/.bashrc
top

Następnie wstaw tę linię do pliku, który wywołujemy screenrc:

screen bash --rcfile ~/runtop -i

i zacznij screenjako

screen -c screenrc

ciekawe, robi to i kończy pracę, ale potrzebuję okien ekranowych, żeby pozostały .. może powinienem wyjaśnić moje pytanie
— mykhal,

dobra robota, ale nie jest to idealne, jeśli uruchomię bash za pomocą jakiegoś polecenia, chciałbym, aby powłoka się nie zamknęła, nie uruchamiała nowej powłoki. do zadań interaktywnych, np bash -i -c top. jest użyteczny, niestety, shell kończy pracę natychmiast po wyjściu z góry.
— mykhal

@mykhal: Sprawdź, czy AKTUALIZACJA # 2 do mojej odpowiedzi pomaga.
— garyjohn
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.