<Попередній | зміст | Наступна>
Що міститься у файлі запуску?
Якщо ми заглянемо всередину типового .bash_profile (взято з системи CentOS 6), це виглядає приблизно так:
# .bash_profile
# Отримати псевдоніми та функції, якщо [ -f ~/.bashrc ]; тоді
. ~ / .bashrc
fi
# Спеціальне середовище користувача та програми запуску PATH=$PATH:$HOME/bin
експортний ШЛЯХ
# .bash_profile
# Отримати псевдоніми та функції, якщо [ -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. Щоб продемонструвати, як це працює, спробуйте наступне:
[me@linuxbox ~]$ foo="Це трохи"
[me@linuxbox ~]$ echo $foo
Це деякі
[me@linuxbox ~]$ foo=$foo"текст."
[me@linuxbox ~]$ echo $foo
Це якийсь текст.
[me@linuxbox ~]$ foo="Це трохи"
[me@linuxbox ~]$ echo $foo
Це деякі
[me@linuxbox ~]$ foo=$foo"текст."
[me@linuxbox ~]$ echo $foo
Це якийсь текст.
Використовуючи цю техніку, ми можемо додати текст до кінця вмісту змінної.
Додавши рядок $HOME/bin до кінця PATH вміст змінної, каталог $HOME/bin додається до списку каталогів, які шукають під час введення команди. Це означає, що коли ми хочемо створити каталог у нашому домашньому каталозі для зберігання наших власних приватних програм, оболонка готова для нас. Нам залишається лише зателефонувати
it Бен, і ми готові йти.
![]()
Примітка:: Багато дистрибутивів забезпечують це PATH налаштування за замовчуванням. Дистрибутиви на основі Debian, такі як Ubuntu, перевіряють наявність файлу ~/bin каталогу під час входу та динамічно додайте його до PATH змінна, якщо каталог знайдено.
![]()
Нарешті, маємо:
експортний ШЛЯХ
експортний ШЛЯХ
Команда експорт команда вказує оболонкі створити вміст PATH доступні для дочірніх процесів цієї оболонки.
документація