<Предыдущая | Содержание: | Следующая>
Что находится в файле запуска?
Если мы заглянем внутрь типичного .bash_profile (взято из системы CentOS 6), это выглядит примерно так:
# .bash_profile
# Получить псевдонимы и функции if [ -f ~/.bashrc ]; затем
, ~ / .bashrc
fi
# Пользовательская среда и программы запуска PATH=$PATH:$HOME/bin
экспорт ПУТЬ
# .bash_profile
# Получить псевдонимы и функции if [ -f ~/.bashrc ]; затем
, ~ / .bashrc
fi
# Пользовательская среда и программы запуска PATH=$PATH:$HOME/bin
экспорт ПУТЬ
Строки, начинающиеся с «#», являются Комментарии и не читаются оболочкой. Они созданы для удобства чтения человеком. Первое интересное происходит в четвертой строке следующего кода:
если [-f ~ / .bashrc]; тогда
если [-f ~ / .bashrc]; тогда
Как устроена окружающая среда?
, ~ / .bashrc
fi
, ~ / .bashrc
fi
Это называется если составная команда, который мы полностью рассмотрим, когда перейдем к сценариям оболочки в части 4, а пока вот перевод:
Если файл «~/.bashrc» существует, прочитайте файл «~/.bashrc».
Если файл «~/.bashrc» существует, прочитайте файл «~/.bashrc».
Мы видим, что этот фрагмент кода позволяет оболочке входа в систему получить содержимое .bashrc. Следующая вещь в нашем стартовом файле связана с PATH Переменная.
Вы когда-нибудь задумывались, откуда оболочка знает, где найти команды, когда мы вводим их в командной строке? Например, когда мы вводим lsоболочка не просматривает весь компьютер, чтобы найти / bin / ls (полный путь к ls команда), скорее, она ищет список каталогов, содержащихся в PATH Переменная.
Ассоциация PATH переменная часто (но не всегда, в зависимости от распределения) задается
/etc/profile и с помощью этого кода:
PATH=$PATH:$HOME/bin
PATH=$PATH:$HOME/bin
PATH изменяется для добавления каталога $HOME/bin в конец списка. Это пример расширения параметров, которого мы коснулись в главе 7. Чтобы продемонстрировать, как это работает, попробуйте следующее:
[я @ linuxbox ~] $ foo="Это что-то"
[я @ linuxbox ~] $ эхо $ foo
Это какой-то
[я @ linuxbox ~] $ foo=$foo"текст."
[я @ linuxbox ~] $ эхо $ foo
Это какой-то текст.
[я @ linuxbox ~] $ foo="Это что-то"
[я @ linuxbox ~] $ эхо $ foo
Это какой-то
[я @ linuxbox ~] $ foo=$foo"текст."
[я @ linuxbox ~] $ эхо $ foo
Это какой-то текст.
Используя этот метод, мы можем добавить текст в конец содержимого переменной.
Добавив строку $ HOME / корзина до конца PATH содержимое переменной, каталог $ HOME / корзина добавляется в список каталогов, в которых осуществляется поиск при вводе команды. Это означает, что когда мы хотим создать каталог в нашем домашнем каталоге для хранения наших собственных программ, оболочка готова принять нас. Все, что нам нужно сделать, это позвонить
it бункер, и мы готовы к работе.
Внимание: Многие дистрибутивы предоставляют это PATH настройка по умолчанию. Дистрибутивы на основе Debian, такие как Ubuntu, проверяют существование ~ / bin каталог при входе в систему и динамически добавлять его в PATH переменная, если каталог найден.
Наконец, у нас есть:
экспорт ПУТЬ
экспорт ПУТЬ
Ассоциация экспорт команда сообщает оболочке сделать содержимое PATH доступен дочерним процессам этой оболочки.