Переменные среды не устанавливаются при перенаправлении эха через конвейер в функцию

"Каковы плюсы и минусы Vim и Emacs?" -Ха!

Я в основном оставлю профи другим.

Минусы обоих из них в том, что они оба старой школы. Я использовал, наверное, 50 различных редакторов на протяжении многих лет, от редакторов строки Basic до сверхбыстрых редакторов с кодом на ассемблере (и VEDIT для одного ), до причудливых редакторов с графическим интерфейсом, некоторые лучше других. Я даже написал свой собственный специальный редактор под названием ForthStar и адаптировал его для редактирования дерева листьев btrieve с несколькими индексами для мощного поиска, например, для мгновенного поиска последних листьев, которые я только что отредактировал, или для быстрого поиска компонентов кода или родителей листьев. или дети.

Я думаю, что и vi, и emacs являются скорее религией, чем мускулами. Творческие умы, создавшие их, в значительной степени продвинулись вперед, а новой опоре не хватает мужества и умения -изобретать их заново.

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

Оба застряли в сложных раскладках клавиатуры. Emacs может немного подстроиться под пользователя, как минимум, распознав, что есть клавиша Alt, а не старая мета. И, подобно WordStar, признают, что сохранение C -A C -B прямо из C -A B при быстром наборе не стоит различия. Лучше просто иметь тот, который запускается любой комбинацией клавиш. Да, вы можете изменить привязки клавиш, но тогда какой беспорядок у вас будет позже.

Vi умен, но ему не хватает мощного поиска и замены, как в Notepad++, который показывает вам, что он нашел, позволяет вам расширять его и выборочно применять его в цвете, просто упомянув одно нововведение.

Почти любое другое приложение с графическим интерфейсом в наши дни позволяет изменять масштаб с помощью колесика мыши. Графический интерфейс Emacs, похоже, не работает. И где хороший греческий язык, как у Кейт?

Моей любимой раскладкой клавиатуры на протяжении многих лет был ромб курсора Wordstar. По крайней мере, это было легко освоить и сразу имело смысл.Больше всего я ненавидел WordPerfect, который увеличивал сложность и, похоже, был основан на emacs.

Посмотрим правде в глаза, в наши дни в большинстве стран мира есть GUI. И нравится вам это или нет, текстовые редакторы несколько застряли в своем возрасте.

Я думаю, что было бы лучше иметь универсальный редактор, который мог бы легко переключаться между emacs, vi, wordstar и другими раскладками клавиш, не теряя более мощных команд, которые он может предложить. Настоящим программистам приходится использовать различные инструменты редактирования. Почему бы не иметь редактора, который удовлетворяет наши потребности в выполнении работы, а не заставляет нас делать то, что делает он?

-1
01.04.2020, 15:55
1 ответ

В конвейере источник сценария находится в отдельной среде. Аналогично в примере с заменой процесса. Это означает, что переменные, установленные в сценарии, устанавливаются в дочерней среде для вызывающей оболочки. Изменения в дочерней среде никогда не могут распространяться на родительскую среду.

Это можно решить двумя способами, избегая использования скрипта в отдельной среде.

Первый способ будет работать в оболочке, которая понимает «здесь -строки»:

source meta-cmf-raspberrypi/setup-environment <<<18

Второй способ — использовать стандарт здесь -документ:

source meta-cmf-raspberrypi/setup-environment <<END_INPUT
18
END_INPUT

В обоих вариантах источник сценария находится в текущей среде, а его ввод перенаправляется из документа здесь -строка/здесь -.

2
19.03.2021, 02:30

Теги

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