Проверять время последнего использования .sh файла

Существенная проблема заключается в том, что терминалы на основе VTE не обрабатывают командную строку таким же способом , что и xterm. Это помимо возможных проблем с опцией удержания (ненужной в этом обсуждении).

Кавычки в этой команде

xterm -e "sudo pacman -Syu;bash"

являются проблемой. Эта строка в кавычках представляет собой одиночный токен, переданный в xterm как единственный параметр.

В xterm сначала пробуются токены после -e в качестве параметров для вызова execv. В противном случае он пытается выполнить что-то вроде "$ {SHELL: -sh}" -c "parameters" (запускает предпочитаемую вами оболочку для интерпретации параметров как командной строки).konsole делает то или другое (вероятно, первое, поскольку это было исходным поведением xterm, и большая часть дизайна konsole датируется концом 1990-х). Когда xterm был изменен для luit, альтернатива "отказ от этого" помогла с передачей параметров в luit.

Терминалы на базе VTE какое-то время пытались выполнить один аспект в одной опции командной строки, а другой - в другой (насколько я помню, -e и -x , но поменять местами роли двух опций и является предметом интересного отчета об ошибке Debian, которого я не вижу в данный момент). В текущей версии попытка

gnome-terminal -e "sudo pacman -Syu;bash"

не удалась, потому что она работает только с исходным поведением, подобным xterm. И (учитывая, что другие терминалы используют несколько более старые версии VTE), поскольку разработчики gnome-terminal (которые частично совпадают с разработчиками VTE ...) некоторое время назад отказались от опции -x , эта опция недоступен для команды. Этот работает, потому что он следует исходной модели xterm:

gnome-terminal -e "bash -c \"sudo pacman -Syu;bash\""

Параметр -e частично адресуется в Debian с помощью сценария оболочки, который пытается предоставить минимальный набор параметров (включая один для названия). Политика Debian для этого была основана на xterm в конце 1990-х годов и неоднократно обсуждалась.

Дополнительная литература:

7
13.04.2017, 15:36
0 ответов

Теги

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