Почему сначала установить переменную, а затем экспортировать ее вместо настройки и экспорта в одной команде?

Если gpg-agent выполняется, он выводит данные, которые могут обрабатываться непосредственно оболочкой, например:

 SSH_AUTH_SOCK=/tmp/ssh-apeOFqMF3292/agent.3292; export SSH_AUTH_SOCK; SSH_AGENT_PID=3293; export SSH_AGENT_PID; echo Agent pid 3293; 

Почему gpg-agent делает это? Я видел больше программ, которые делают это. Разве оболочки в прошлом не поддерживали export var=val ? Какие оболочки не поддерживают эту альтернативную оболочку?

Я работаю с bash в Kubuntu.

One Solution collect form web for “Почему сначала установить переменную, а затем экспортировать ее вместо настройки и экспорта в одной команде?”

Традиционная оболочка Bourne не поддерживала их объединение (хотя System V позволяет вам опустить; в оболочке 4.2BSD / SunOS не было). Он был добавлен оболочкой Korn (пересекающей export оболочки Bourne с csh ), а затем был принят другими оболочками и POSIX.2. Многие коммерческие Unixes по-прежнему поставляют версию System V оболочки Bourne как /bin/sh , поэтому сохранение совместимости – хорошая идея для переносимости.

  • Заменить переменные окружения в файле с их фактическими значениями?
  • Кто настраивает http_proxy?
  • Переменная Shell variable vs. Environment, какая из них предпочтительна, если оба имеют одно и то же имя?
  • Условно-экспортная переменная командной строки
  • как использовать http proxy в терминале
  • Удалите папку с тем же именем, что и переменная среды
  • Исходный (.) Контурный выход
  • Экспортирование переменной среды
  • Эффект, если какая-либо из изменяющихся переменных среды LD_LIBRARY_PATH на шрифтах emacs?
  • Обмен переменными среды между bash и fish
  • Почему следующие два способа отображения переменных среды текущей оболочки отличаются?
  • Ограничения / etc / profile в Gnome
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.