Вот что я отметил в своей лекции:
- Найти файл
.bashrc
в вашем домашнем каталоге - делать
vi .bashrc
- Когда вы помещаете папку приложения куда-нибудь, убедитесь, что ее адрес находится в переменной пути.
Проблема в том, что у меня нет .bashrc
файла в моем домашнем каталоге. В .bash_history
моем доме только файл.
Если я иду в корень, там есть etc/bash.bashrc
файл, но я думаю, что он будет вносить изменения для всех пользователей, а не только для меня. Я хочу добавить этот путь только для себя. Это не должно влиять на других. Кроме того, $PATH
в этом файле bashrc нет никаких переменных, поэтому я еще больше запутался.
~/data/user1/bin
папке. Я добавил этот путь в файл .bashrc. Теперь, что мне нужно сделать, чтобы при вводе lego программа запускалась? Должен ли я создать псевдоним? Если да, то как?alias lego='<What do i put here???>'
~/data/user1/bin
переменную среды PATH в.bashrc
файл? (добавьте эту строку:)export PATH=$PATH:~/data/user1/bin
- если это так, вы должны просто набрать текстlego
в терминале, и программа должна запуститься.PATH=$PATH:~/data/user1/bin
. Вы не упомянули экспорт, поэтому я не поместил его туда. Я попробую еще раз завтра, когда пойду в универ.lego
это слово, которое запускает программное обеспечение?В большинстве дистрибутивов хранится стандартный
.bashrc
файл, который/etc/skel/
вы можете просто скопировать в домашний каталог. В противном случае вы можете просто создать новый пустой.bashrc
файл в вашем домашнем каталоге.источник
Создайте свой собственный файл запуска для интерактивных оболочек
О загрузочных файлах Bash
Из раздела ПРИЗВАНИЕ
man 1 bash
говорит:Обратите внимание, что эти файлы запуска не являются обязательными ; Баш не требует их. Bash также различает логин и интерактивные оболочки. Интерактивная оболочка определяется следующим образом:
Многие дистрибутивы используют один тип файла запуска из другого, но некоторые этого не делают, поэтому эту проблему может быть трудно решить канонически. Вам нужно проверить все ваши файлы запуска, чтобы увидеть, как и когда вы
~/.bashrc
будете вызываться в вашей системе.Создание вашего пользовательского загрузочного файла интерактивной оболочки
Если вам просто не хватает пользовательского
~/.bashrc
файла, просто создайте его. Это будет вызываться Bash для оболочек без входа в систему (например, оболочки, запущенные без--login
флага), или всякий раз, когда вы заставляете оболочку быть интерактивной, вызывая ее с-i
флагом.источник
Если у вас нет
.bashrc
, вы можете просто создать его и добавить строки, которые вы хотите, например:добавить свой каталог bin пользователя в конец пути.
Но вы должны быть осторожны, если есть другие файлы запуска. Правила относительно того, какие файлы используются, довольно сложны, но они подробно описаны на
bash
странице руководства . Войдитеman bash
в командную строку и ищитеINVOCATION
.источник
Короткие ответы:
find ~ -maxdepth 1 -name '.bashrc'
vi ~/.bashrc
echo $PATH | grep ~/MyNewCoolProgramFolder
Подробный:
я беру более близкое буквальное толкование.
«Найдите файл .bashrc в вашем домашнем каталоге».
Так как команда существует
find
, возможно, коварный редактор посоветует вам использовать ее:Поиск в домашнем каталоге
~
, спуск только одного уровня (без subdir-maxdepth 1
). По всем вариантам пишитеman find
.Строка ниже будет делать минимальную работу
Примечание: в случае, если
~/.bashrc
не существует, вы можете создать его с помощью простогоecho >> ~/.bashrc
.>>
Создаст файл , если не существует. Если~/.bashrc
вместо этого существует, он будет добавлять только безвредный вывод пустогоecho
, избегая непреднамеренного удаления такого важного файла, который, кстати, трудно восстановить без резервной копии.(Следующее потому, что редко я должен соблюдать значение своего псевдонима, не выполняйте, если у вас есть сомнения).
«Делай
vi .bashrc
»Теперь вы можете сделать
vi ~/.bashrc
, ловушка здесь, что вам нужно нажать:иqвыйти!Папка приложения и
$PATH
когда вы создаете папку приложения, например
~/MyNewCoolProgramFolder
, строка ниже будет проверять только, находится ли она в$PATH
:Вам не нужно добавлять, если уже есть. При необходимости вы можете добавить в
$PATH
си добавить эту строку,
~/.bashrc
если вы хотите сделать его постоянным.«4?!? Как 4, если было только 3 балла?» - Временные решения.
Есть несколько обходных путей для последнего; давайте предположим, что исполняемый файл с именем
CoolDetraveller
существует только в вашей новой папке приложения:(а) Вы можете попытаться выполнить это. Просто он не запустится, если его нет в
$PATH
.(б) Вы можете попробовать его автозаполнение . Начните писать
CoolDetravelle
и нажмите Tab. Если он есть,$PATH
он будет автоматически завершен (всегда, если автоматическое завершение включено).(c) Вы можете спросить,
which
будет ли использоваться команда оболочки bash , если вы напишете командуCoolDetraveller
.Примечание: Если в вашем пути приложения есть один или несколько пробела,
which
может быть не в состоянии найтиCoolDetraveller
, хотя (здесь я снова чту мой ник) на завершение авто вCoolDetraveller
качестве действительного параметраwhich
команды будет работать!Ad nauseam : Вы не можете спросить,
whereis CoolDetraveller
потому чтоwhereis
источник