Скрытие вывода терминала при связывании команд

Из терминала мне нравится запускать мои стандартные рабочие приложения ... gedit с моим списком задач, firefox и chromium.

Чтобы сэкономить время, я (1) объединяю эту команду в одну строку, (2) отключаю все сообщения об ошибках от stderr и stdout с помощью 2&>1 >/dev/null и (3) фоновые процессы с &, чтобы восстановить чистый терминал:

gedit ~/Desktop/todo.txt 2&>1 > /dev/null & firefox 2&>1 > /dev/null & chromium-browser 2&>1 > /dev/null &

Кажется, он работает нормально, за исключением одной маленькой детали. Gedit открывает файл todo, а также новый текстовый файл с именем 2. Смещены ли каналы?

3
задан 2 January 2013 в 16:22

2 ответа

Быстрый ответ:

gedit -b wallet.pem > /dev/null 2>&1

Опция -b помещает gedit в фоновый режим.

Более длинный ответ:

Для такой задачи я бы поставил эти приложения в самом начале вашей среды рабочего стола.

0
ответ дан 2 January 2013 в 16:22

Я склонен видеть >/dev/null 2>&1, а не 2>&1 >/dev/null

Тогда >, вероятно, является ключевым здесь, так как следующие опции для gedit - это (a) имя файла (ов).

Справочная страница для состояний gedit для filename(s):

Определяет файл, который открывается при запуске gedit - если это не указано, gedit загрузит пустой файл с меткой Без названия. Несколько файлов могут быть загружены, если они разделены пробелами . Gedit также поддерживает обработку удаленных файлов. Например, вы можете передать расположение веб-страницы в gedit, например «http://www.gnome.org», или загрузить файл с FTP-сервера, например «ftp://ftp.gnome.org/robots. текст".

Если я правильно прочитал: 2 рассматривается как имя файла, так как перед ним стоит пробел. Это предполагает, что вам нужно > сказать gedit, что это не имя файла, которое будет следующим.


Я сам создал бы сценарий и располагал команды в отдельных строках.

0
ответ дан 2 January 2013 в 16:22

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

Похожие вопросы: