Вчера, прослушав урок о переменных окружающей среды в Дереве биотехнологических навыков,Вводный курс «Информация для студентов-2021», выпуск 7,просветление,Я снова пошел полистать книгу дяди Пси.,Пока я все еще помню,Спешите делать заметки,Итак, в этой проблеме представлены переменные среды.
Вы когда-нибудь задумывались, почему, когда мы впервые зашли на сервер, мы ничего не сделали, но имели кучу полезных переменных? Это связано с тем, что в системе есть некоторые файлы конфигурации среды.
Переменные среды используются для хранения системных переменных, связанных с сеансом оболочки и рабочей средой.
Общие переменные среды:
Вы можете распечатать значение переменной с помощью команды echo,Но следует отметить, чтоПеред вызовами переменных должен стоять $。
Файл конфигурации системы содержит информацию и настройки bash, специфичные для вашей оболочки bash. Этот файл будет автоматически читаться и выполняться каждый раз, когда вы входите в систему или открываете новую оболочку. Если файл изменен, требуется источник (аналогично перезагрузке компьютера).
which ls
Мы знаем, что полный путь команды ls — /bin/ls, так почему же я могу напрямую ввести ls в любом месте для выполнения команды вместо того, чтобы получить сообщение о том, что команда не может быть найдена?
Здесь необходимо упомянуть переменную среды PATH.
При вводе команды ls система будет искать исполняемый файл ls по каждому пути, определенному PATH, в соответствии с настройкой PATH. Если в пути, определенном PATH, имеется несколько исполняемых файлов ls, система выполнит команду с одним и тем же. имя найдено первым.
Приведите еще один пример команды grep. С помощью команды who вы можете обнаружить, что команда grep находится в каталоге /bin.
Проверьте еще раз, существует ли путь в $PATH, и он существует.
Поэтому нам также следует изменить переменные среды после установки новой команды.
Давайте вернемся и посмотрим: на последнем этапе установки conda есть операция, требующая ввода да/нет. Когда мы вводим да, в файле .bashrc есть дополнительный фрагмент кода, экспортируйте PATH="/. home/zwang /anaconda3/bin:$PATH", то есть переменные среды изменяются, гарантируя, что программному обеспечению, установленному через conda, не потребуется изменять переменные среды. В то же время это также объясняет, почему нам нужно выполнить исходный код или перезапустить систему после установки conda.
Несколько замечаний о PATH
После приведенного выше исследования мы смогли понять $PATH и .bashrc.
Когда мы запускаем разные проекты, мы часто создаем разные небольшие среды с помощью [conda create -n имя среды] из-за разных зависимостей программного обеспечения и разных сред.
Например, я установил fastqc через conda в небольшой среде под названием rna.
В это время в базовой среде просмотрите справочную документацию fastqc.
Обнаружено, что fastqc не может быть вызван в базовой среде. Давайте сейчас проверим $PATH.
$PATH в базовой среде
После активации среды rna мы сможем успешно просмотреть справочный документ fastqc.
Давайте теперь посмотрим на $PATH
$PATH в среде РНК
Сравнивая с $PATH в атмосфере окружающей среды, мы можем обнаружить, что путь /home/zwang/anaconda3/bin фактически стал /home/zwang/anaconda3/envs/rna/bin! ! !
Это показывает, что переменные среды изменяются при активации среды! Давайте еще раз проверим путь fastqc, это действительно так!
https://mp.weixin.qq.com/s/Q-Rp2Vnr-_4sJWQ4xOLieQ