Я хочу добавить новые псевдонимы к своему .bash_profile файл, но я не могу найти этот файл.
Где он должен быть?
Это скрытый файл, расположенный в вашей домашней папке:
~/.bash_profile(в ~ расширяется до вашего домашнего каталога. Если ваше имя пользователя является user, результат был бы: /home/user/.bash_profile).
Поскольку это скрытый файл, вы должны сделать его видимым.Чтобы сделать это в Nautilus, перейдите в меню "Просмотр" и установите флажок "Показывать скрытые файлы" (или нажмите ярлык Ctrl + H).
Если вы используете Kubuntu с Dolphin, вам необходимо нажать Ctrl + . чтобы переключить видимость файлов.
~/.bash_profile это неподходящее место для размещения псевдонимов и функций. Они должны войти ~/.bashrc. Смотри http://mywiki .wooledge.org/DotFiles для объяснения.
Обычно у вас нет .bash_profile на Ubuntu, и вам не следует этого делать обычно этот файл создается. Как джей пи джезз говорит, он будет находиться в вашем домашнем каталоге в вашей системе Ubuntu, что и ~ расшифровывается как, и вы можете создать его там. Но если вы это сделаете, вам следует быть осторожным, потому что это помешает bash от автоматического выполнения команд в .profile-- что вы почти наверняка делать иметь.
Когда bash запускается как оболочка входа в систему, в WSL или иным образом1, он запускает первый из .bash_profile, .bash_login, или .profile который существует в вашем домашнем каталоге. Если у вас есть bash-конкретные команды, которые вы хотите выполнить при входе в систему - но только тогда, когда bash это ваша оболочка - вы могли бы поместить их в .bash_profile. Но само существование .bash_profile бы предотвратить .profile от того, что его использовали.
Итак, тогда вы хотели бы источник .profile от .bash_profile, предполагая, что вы хотите, чтобы эти команды тоже выполнялись, что вы почти всегда и делали. Вы могли бы сделать это, введя эту команду в .bash_profile:
. ~/.profile(Некоторые читатели, возможно, привыкли видеть, что это написано как . "$HOME/.profile" когда он появляется в сценарии запуска. Это всегда хорошо - и вы можете предпочесть использовать это для команд, которые должны работать с оболочками, отличными от bash также, если вам нужно разместить очень старые оболочки, которые не поддерживают стандартные функции, что... ну, тебе это не нужно. В любом случае, bash всегда поддерживает расширение тильды и смысл в .bash_profile разве это только bash запускает команды из него, так что . ~/.profile все в порядке.)
То . встроенный источник создает файл, то есть выполняет все команды из файла в текущей оболочке. Открыть интерактивный bash запустите оболочку и запустите help . для получения дополнительной информации.
Причина, по которой у вас обычно нет .bash_profile на Ubuntu, даже если у вас есть bash-конкретные команды, которые вы хотите запустить при входе в систему заключается в том, что по умолчанию пользователи' .profile файлы содержат код, который проверяет, является ли текущая оболочка bash, затем вызывает выполнение таких команд.
Есть еще один ответ на вопрос о том, где находятся такие файлы, как .profile или .bash_profile являются. Версии этих файлов по умолчанию существуют в /etc/skel каталог. Файлы в этом каталоге копируются в домашние каталоги Ubuntu при создании учетных записей пользователей в системе Ubuntu, включая учетную запись пользователя, которую вы создаете в рамках установки Ubuntu. Если вы заглянете в этот каталог, то заметите, что там есть файл с именем .profile--а также некоторые другие файлы, такие как .bashrc-- но там нет файла с именем .bash_profile. Вот почему - или, на самом деле, как-- нет .bash_profile существует в вашем домашнем каталоге Ubuntu, если только вы не создали его самостоятельно.
Наконец, вы должны нет вставляйте псевдонимы в .profile вообще, и не является .bash_profile хорошее место для них, как гейра справедливо говорит. Это связано с тем, что вы хотите, чтобы ваши псевдонимы работали в интерактивных оболочках, независимо от того, являются они оболочками входа или нет. Вместо этого определите свои псевдонимы в .bashrc или, лучше, .bash_aliases (как гость буроу указывает на), который по умолчанию .bashrc источники. Видеть Как мне создать постоянный псевдоним Bash?
Значение по умолчанию .profile файл проверит, используете ли вы bash оболочка и источник .bashrc если ты:
# if running bashif [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fifiМежду тем по умолчанию .bashrc завершится в верхней части, ничего не делая, если он запускается в неинтерактивной оболочке, поэтому команды в нем не будут выполняться, если он будет получен с помощью .profile в одном неинтерактивный оболочка входа в систему и в других более неясных сценариях2:
# If not running interactively, don't do anythingcase $- in *i*) ;; *) return;;esacТак что, если вы вставляйте псевдонимы в .bashrc или в .bash_aliases, вы получите их для интерактивных оболочек входа в систему (где .profile используется), а также интерактивные оболочки без входа в систему (где .bashrc используется). Это то, чего ты хочешь. Просто не ставьте ничего выше проверки интерактивности, если только вы действительно, действительно знай, что ты делаешь.
1 Этот ответ был первоначально написан для вопрос, связанный с WSL, но этот вопрос был закрыт как дубликат, и этот ответ полностью применим и здесь, поэтому я немного расширил и разместил его здесь вместо этого.
2 Когда bash обнаруживает, что он, вероятно, запущен как начальная оболочка удаленного входа в систему, которая нет оболочку входа в систему - например, когда вы используете ssh для выполнения одной команды на удаленной машине - она выполняет команды из .bashrc. (См. 6.2 Файлы запуска Bash в Руководство по GNU Bash.)
Это удобно, чтобы поместить все ваши псевдонимы в ~/.bash_aliases в домашнем каталоге пользователя. Это то, что предлагается в ~/.bashrc файл в комментариях.
просто хотел напомнить, что даже если файлы скрыты в программе просмотра, вы все равно можете открыть их все, если просто введете имя файла. Например, если вы напишете в адресной строке dolphin /home/<user>/.bashrc, он откроет файл в редакторе по умолчанию без переключения показывать / скрывать некоторые файлы.
Другой способ - просто открыть свой любимый редактор и просто ввести имя файла.
Я рассматриваю это как наиболее предпочтительный способ обработки скрытых файлов, поскольку отображение, не показываемое, просто добавляет шума, которого можно избежать.
И псевдонимы должны входить в .bashrc как гейра писал.