[ -f ]
проверяет, существует ли файл.
Тильда ~
является сокращением оболочки для вашего домашнего / пользовательского каталога. Личные для вас файлы хранятся там. ~/.bashrc
, если он существует, является другим файлом запуска bash
в вашем домашнем каталоге, который обычно запускается, когда вы запускаете bash
интерактивном режиме (то есть, когда вы не просто вызываете bash
для выполнения уже существующего файла сценария bash
). Файл примера, который вы просматриваете, вероятно, должен быть .profile
, который является еще одним сценарием запуска оболочки, который обычно запускается только при первом входе в систему. Если у вас есть команды, которые вы хотите запускать только при входе в систему, вы помещаете их в ~/.profile
. Если у вас есть команды, которые настраивают вашу интерактивную оболочку (например, псевдонимы, упрощающие вызов команд), вы помещаете их в свой .bashrc
. Поскольку оболочки входа в систему также являются интерактивными оболочками, вы обычно хотите, чтобы ваш .profile
также загружал ("источник") ваш .bashrc
.
Когда ваша оболочка ищет команды для запуска, она обращается к переменной окружения PATH
. Эта строка экспортирует ее, чтобы другие команды, которые вы вызываете из оболочки, знали, где искать другие команды. Он также добавляет каталог /usr/local/bin
в PATH
так что оболочка и программы, которые она запускает, также ищут там команды.
BASH_ENV
определяет, какой сценарий запуска bash
должен запускаться, если он вызывается в неинтерактивной, не входящей в систему ситуации. Я предполагаю, что он экспортируется, так что если вы вызовете неинтерактивный экземпляр bash
(например, для выполнения существующего файла сценария), он все равно будет запускать ваш .bashrc
. Обычно я не хочу, чтобы неинтерактивные оболочки выполняли мой .bashrc
, поэтому я никогда не определил бы BASH_ENV
так, как это определено в этом примере файла, который вы нашли.
GNUTERM
определяется как строка aqua
. Он определяется и экспортируется одновременно. Поскольку вы работаете на Mac, на котором может не быть установлен XWindows (X11), это говорит вашей среде GNUTerm/GNUPlot/GNUOctave, какой инструмент запустить, чтобы нарисовать ваши графики на экране. Вероятно, aquaterm, который вы могли бы убедиться, что вы установили, если вы еще не сделали. Я не знаю обо всех вариантах Mac для экосистемы GNUOctave/GNUPlot/GNUterm/aquaterm, поэтому не могу посоветовать вам подробности.