2012-03-13 3 views
0

Я пытаюсь добавить некоторые экспортные инструкции в свой сценарий оболочки Unix, и до этого момента я получил его для работы с оболочкой bash. Есть ли способ сделать экспорт ниже применимым во всех оболочках с использованием сценариев оболочки?Создание переменных переменных для всех оболочек Unix

AXIS2_HOME =/дом/пользователь/axis2-1.6.0 экспорт AXIS2_HOME

+0

Вы забыли ';' перед 'export'. –

ответ

1

Что вы имеете в виду "все снаряды?"

  • Если вы имеете в виду разные оболочки, как в «Могу ли я изменить среду родительского/родственного корпуса»?

Тогда нет, вы не можете. Экспорт var должен означать, что все ваши дети наследуют его. Вы можете пойти каким-то образом, чтобы подделать его, создав ваш скрипт временным файлом, который вы каким-то образом вызываете вызывающим, но он начинает получать странное значение и предлагает проблему в вашей архитектуре.

  • Если вы имеете в виду различные оболочки, как и в ш/Баш/CSH/Tcsh/ЗШ/КШ и т.д.

Вы можете сделать что-то вроде этой работы во всех «ш» вкусовыми оболочек, но и для «CSH «ароматы вам нужно использовать setenv.

В зависимости от того, как далеко вы хотите идти, вы можете написать что-нибудь, чтобы хранить все ваши env. vars в отдельном файле (например, env.dat) и преобразовать его в синтаксис sh/csh с помощью sed/awk/perl.

Смежные вопросы