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

Если 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 ? Какие оболочки не поддерживают эту альтернативную оболочку?

  • Is> & - эффективнее, чем> / dev / null?
  • Итерация по наборам аргументов команды в Bash
  • В linux, как удалить все файлы ЗА ИСКЛЮЧЕНИЕМ шаблона * .txt?
  • Как найти строку с наименьшими символами
  • bash custom builtin
  • / bin / sh: определение функции импорта ошибок для `some-function '
  • Я работаю с bash в Kubuntu.

  • Сжатие всех файлов, содержащих определенную строку
  • Как работает арифметика Баша?
  • Существуют ли командные наборы терминалов на иностранном языке?
  • ls цвета для разрешений
  • Узнайте, где $ PATH был поврежден
  • Как я могу чисто добавить к $ PATH?
  • One Solution collect form web for “Почему сначала установить переменную, а затем экспортировать ее вместо настройки и экспорта в одной команде?”

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

    Linux и Unix - лучшая ОС в мире.