Linux||Переменные среды
Linux||Переменные среды

Вчера, прослушав урок о переменных окружающей среды в Дереве биотехнологических навыков,Вводный курс «Информация для студентов-2021», выпуск 7,просветление,Я снова пошел полистать книгу дяди Пси.,Пока я все еще помню,Спешите делать заметки,Итак, в этой проблеме представлены переменные среды.

Вы когда-нибудь задумывались, почему, когда мы впервые зашли на сервер, мы ничего не сделали, но имели кучу полезных переменных? Это связано с тем, что в системе есть некоторые файлы конфигурации среды.

Переменные среды используются для хранения системных переменных, связанных с сеансом оболочки и рабочей средой.

Общие переменные среды:

  • HOME: домашний каталог текущего пользователя.
  • PATH: список каталогов, в которых оболочка ищет команды, разделенные двоеточиями.
  • SHELL: полный путь к bashshell.
  • LOGNAME: Имя пользователя текущего пользователя.
  • PS1: Основное приглашение интерфейса командной строки оболочки.
  • PS2: вторичное приглашение интерфейса командной строки оболочки

Вы можете распечатать значение переменной с помощью команды echo,Но следует отметить, чтоПеред вызовами переменных должен стоять $

.bashrc

Файл конфигурации системы содержит информацию и настройки bash, специфичные для вашей оболочки bash. Этот файл будет автоматически читаться и выполняться каждый раз, когда вы входите в систему или открываете новую оболочку. Если файл изменен, требуется источник (аналогично перезагрузке компьютера).

$PATH

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

  1. Пользователи с разными идентификаторами имеют разные PATH по умолчанию, и команды по умолчанию, которые могут выполняться по желанию, также различаются.
  2. PATH может быть изменен
  3. Использование абсолютного или относительного пути для непосредственного указания команды для выполнения является более точным, чем поиск PATH.

Небольшая среда и $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, это действительно так!

Ссылки
  1. «Дерево навыков биографии» Вводный курс биографии-2021 Выпуск 6

https://mp.weixin.qq.com/s/Q-Rp2Vnr-_4sJWQ4xOLieQ

  1. Частная кухня брата Няо в Linux
boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода