2015-03-25 2 views
1

Я написал скрипт, названный credentials.sh, который содержит:Как я могу экспортировать учетные данные как оболочки среды из сценария оболочки?

export USERNAME = 'user' 
export PASSWORD = 'pass' 

безопасности этих переменных не большое дело.

Два вопроса.

  1. Когда я запускаю этот скрипт ./credentials.sh (как с правами root, так и без него), он фактически не экспортирует vars. Почему это?
  2. Каким образом это универсальный доступ (Ubuntu 14.04)?
+5

Не запускайте его. Исследуйте это. '. credentials.sh' вместо './credentials.sh'. Вам нужно сделать это, чтобы запустить его в текущей оболочке, а не в новой оболочке. –

+5

Ваш синтаксис оболочки неверен в том смысле, что он должен быть «USERNAME =« пользователь », т.е. нет места. Это действительно важно. –

+0

Запустите его как часть текущей оболочки. ./credentials.sh. Это точка, за которой следует имя файла. – kjohri

ответ

3

два изменения:

  1. Исправьте синтаксис переменных назначения:

    export USERNAME='user' 
    
  2. Для того, чтобы это значение всегда доступно пользователю, добавьте вышеуказанную строку кода в файл ~/.profile; это будет устанавливать переменные во время входа в систему, так что это не нужно будет вручную вызывать в другое время.