Linux GNU screen - запускать команды сразу после запуска экрана?

В моем файле.screenrc у меня есть эта строка, чтобы открыть одно окно экрана:

screen -t "normal"

И эту строку, чтобы открыть другое окно и запустить сверху:

screen -t "top" top

Те работают очень хорошо, поэтому я хотел сразу запустить df && ls -alh в третьем окне, поэтому я поместил эту строку в.screenrc:

screen -t "df" df && ls -alh

Окно df никогда не появляется, поэтому я подумал, что && может быть причиной проблемы, и попробовал его просто df.

screen -t "df" df

Окно df по-прежнему не появляется.

Вопрос: Как я могу запустить одну команду, а затем другую в том же окне экрана через screenrc? Я бы хотел, чтобы он вел себя точно так же, как в bash. Спасибо за любой совет.

1 ответ

Решение

Это вероятно появляется, но исчезает после того, как это бежало.

Попробуйте следующее:

screen -t "df" bash -c 'df && sleep 50'

Это покажет вывод df команда для 50 секунд.

Иметь полезное df выход я бы порекомендовал вам использовать watch:

screen -t "df" watch -n 10 df

Это будет работать df каждые 10 секунд, так что вы будете иметь фактический статус вашего свободного дискового пространства на этом терминале.

Другие вопросы по тегам