#linux #shell #scripting #export
#linux #оболочка #сценарии #экспорт
Вопрос:
Я новичок в Linux и особенно в Ubuntu 11, который я только сегодня впервые пробую. Мне нужен Linux для некоторой разработки, для которой требуется эмулятор на базе Linux, поэтому я пытаюсь написать сценарий оболочки, который настраивает мою среду разработки.
Теперь я создал .scripts
папку в моем домашнем каталоге и добавил ее к своему пути, экспортировав ее в .bashrc
, поэтому каждый раз, когда я запускаю новый экземпляр терминала, я могу выполнять любые пользовательские сценарии, которые я туда добавляю.
Теперь один (фактически три) из этих сценариев настраивает все мои пути, связанные с разработкой, экспорты, а также cd
команду, которая переключается на соответствующую папку для этого разработчика. Однако (еще раз простите меня, если вы уже знаете это …) скрипт выполняется в своем собственном «сеансе» (за неимением лучшего слова), Поэтому, хотя все переменные среды и подобные им настроены и выполняются (что было доказано внедрением echo
вызовов повсюду), когда скрипт завершается, и я возвращаюсь обратно к терминалу, где я выполнил скрипт, этот другой сеанс больше не существует, и, за исключением очистки экрана и эхо-вывода, нет больше ничего не показывает, что скрипт когда-либо запускался.
Теперь я не уверен, что вообще возможно расширить экспортированные переменные за пределы этого сценария обратно в вызывающий «экземпляр» или есть какой-то флаг, который я могу установить для выполнения сценария в существующем сеансе, поэтому я в тупике.
Теперь, если это невозможно, возможно ли, по крайней мере, написать сценарий или настроить значок, который может запускать новое окно терминала, затем выполнить сценарий, но оставить окно открытым и инициализированным?
Спасибо!
Отметьте
Комментарии:
1.по соглашению ваши личные сценарии хранятся в
~/bin/
, и это может быть частью вашего,$PATH
но, конечно, это зависит от вас2. Полезно знать! Я перемещу их туда и удостоверюсь, что он находится в path.
Ответ №1:
Поместите сценарий в определение функции в ~/.bashrc
. Например
enter_dev_env() {
cd /home/foo/src
export foo="bar"
}
Ответ №2:
Запустите команду с исходным кодом.
источник foo.sh