В командной строке bash я устанавливаю переменную myPath =/home/user/dir. Я создал скрипт, в который я помещал echo $ myPath, но он, похоже, не работает. Это ничего не значит. Что я могу сделать для доступа к переменной myPath в скрипте. Если я пишу echo $ myPath в команде, это работает, но не в скрипте.Доступ к переменной в сценарии bash
ответ
Попробуйте
export myPath=/home/user/dir
как вы присвоить переменной? это должно было быть:
$ export myPath="/home/user/dir"
затем внутри программы оболочки, как:
#!/usr/bin/env bash
echo $myPath
вы получите желаемые результаты.
Если вам нужно использовать это внутри другой строки, вы также можете сделать эхо «Path is $ {myPath}» –
Вы также можете сделать это, чтобы установить переменную myPath только для MyScript
myPath="whatever" ./myscript
Подробные сведения о допущенном хитрой синтаксиса для переменных окружения см: http://www.pixelbeat.org/docs/env.html
Вы должны объявить переменную назначение с " экспорт "как таковой:
export myPath="/home/user/dir"
Это вызовет включение оболочки в переменную enviro запущенных подпроцессов. По умолчанию переменные, которые вы объявляете (без «экспорта»), не передаются подпроцессу. Вот почему вы изначально не получили ожидаемого результата.
- 1. Доступ к ассоциативным массивам в сценарии bash
- 2. Доступ к атрибуту xml в сценарии bash
- 3. Доступ к рельсам переменной в сценарии кофе
- 4. Как получить доступ к переменным среды PHP в сценарии bash?
- 5. Передача sed переменной в сценарии bash
- 6. Редактирование строковой переменной в сценарии bash
- 7. Использование ссылок косвенной переменной в сценарии Bash
- 8. Базовый вызов переменной BASH в сценарии
- 9. Доступ к элементу массива после разделения строки в сценарии bash
- 10. Доступ к переменной индекса массива из цикла сценария оболочки bash?
- 11. Как получить доступ к переменной из Bamboo в сценарии Gradle?
- 12. Сценарии Bash/Shell
- 13. дешифровать пароль в сценарии bash
- 14. Как получить доступ к переменной env GIT_COMMIT в файле bash
- 15. Добавление кавычек в строку в сценарии bash
- 16. Unzip в сценарии bash
- 17. Ошибка в сценарии bash
- 18. Bash модификаторов в сценарии
- 19. спать в сценарии bash
- 20. Ссылка на путь к файлу переменной в сценарии оболочки
- 21. Сравнение Bash с пустой переменной в простом сценарии nmap
- 22. Назначение outputstring с пробелами для переменной в сценарии Bash
- 23. глобальной переменной в сценарии оболочки
- 24. Передача внешней переменной в xidel в сценарии цикла bash
- 25. Использование переменной для вызова определенных функций в сценарии bash
- 26. Доступ к номеру из файла в скриптах bash
- 27. Доступ к переменной среды в скрипте оболочки
- 28. aws code deploy не может получить доступ к переменной bash
- 29. Количество аргументов в сценарии bash
- 30. «имя плохой переменной» в сценарии bash, начатое cron
использовать экспорт var также в вашем профиле bash - если вы хотите, чтобы ваши скрипты обращались к этой переменной. например JAVA_HOME – LukeSolar
Это неверное описание. «Экспорт» не оказывает заметного влияния на текущую оболочку. Это полезно, когда значение переменной должно быть видимым для подпроцессов, запущенных из текущей оболочки. – tripleee
@tripleee Действительно, и если я не пропущу что-то, именно об этом спрашивается вопрос: как получить доступ к переменной из подпроцесса (который выполняет скрипт оболочки). –