Переменная окружения $EDITOR не будет установлена ​​

Запуск ssh foo@remote-server, за которым следует ./script.sh, эквивалентен запуску ssh foo@remote-server./script.sh, а запуск ssh foo@remote-server, за которым следует sudo -u bar./script.sh, эквивалентен ssh foo@remote-server sudo -u bar./script.sh(, за исключением того, что sudoможет завершиться ошибкой, поскольку ему требуется TTY, который может легко обойти ). Так что я боюсь, что то, что вы спрашиваете, не имеет смысла. Все, что вы делаете, чтобы обойти это искусственное различие, например, проверка наличия $TERMили [ -t 0 ], вероятно, легко обойдется.

0
11.04.2019, 19:06
1 ответ

Вы используете так называемую -"всплывающую оболочку". Это не терминал. На самом деле это и не оболочка.

Это часть фальшивого пользовательского интерфейса внутри WWW-браузера, который выполняет команды оболочки отдельно друг от друга в виде отдельных транзакций. Нет реальной постоянно работающей оболочки для хранения переменной среды. Он просто представлен таким образом пользовательским интерфейсом в WWW-браузере. Команды оболочки выполняются в среде одноразового процесса, в которой не установлена ​​переменная среды TERM, и в сеансе без управляющего терминала. И даже если он был установлен, не существует эмулятора терминала для обработки терминального ввода-вывода, который используют полноэкранные -программы, такие как текстовые редакторы. Действительно, предусмотрена только передача вывода программы обратно на локальную машину; никакие входные данные не отправляются в другом направлении.

nano, picoи emacsбудут жаловаться на невозможность определить тип терминала и открыть терминал. VIM и NeoVIM возвращаются к предположениям, которые в данном случае просто неверны и создают видимость просто зависания. Даже редакторы режима строки -, такие как exи ed, не будут работать, поскольку пользовательский ввод просто не отправляется на удаленную машину. (Можно было бы управлятьexне -интерактивно с его опцией -c. )Точно так же нельзя изменить пароль с помощью команды passwd.

Это неправильное понимание «всплывающей оболочки» существует как минимум с 2016 года.

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

8
28.01.2020, 02:14

Теги

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