Предыстория: Один из моих коллег, не имеющий опыта работы в Linux, спросил меня об использовании ./
ранее одних команд, а не других, поэтому я объяснил ему, как PATH
работает и как выбираются двоичные файлы для запуска. Он ответил, что это глупо, и ему просто не нужно было печатать ./
перед командами.
Вопрос: есть ли способ легко изменить поведение оболочки, чтобы $PWD
всегда был первый элемент PATH
?
~/bin
и не сделать их частьюPATH
? Это тоже держит вещи в порядке.PATH
(что является обычным источником таких соображений).Ответы:
Если вы действительно хотите, вы можете сделать это, добавив
.
к своему пути:Однако это плохая идея, потому что это означает, что ваша оболочка выберет любую команду в текущем каталоге в предпочтении других. Если кто-то (или какая-либо программа) удалит вредоносную
ls
команду в каталог, которым вы часто пользуетесь, у вас возникнут проблемы ...источник
.
в начале у васPATH
было по умолчанию для обычных пользователей (если я создал пользователя с «sam» в HP-UX, по крайней мере, я не уверен насчет старой SunOS). Позже это значение по умолчанию было удалено из соображений безопасности. Если у вас есть.
последний пунктPATH
, все же кто-то может надеяться на типичные опечатки./tmp/sl
шутки, предназначенные для пользователей с такими PATH. В Debian и его производных установитеsl
пакет, чтобы понять, как часто вы печатаетеsl
вместо негоls
../
когда вы хотите вызывать команды в текущем каталоге. Или, если ваш обычный каталог тока/project/under/development/bin
, а затем добавить , что к вашемуPATH
. Это решает ваш вариант использования разработчиком. Помещение.
в начало вашейPATH
- плохая идея, точка.Хотя это не является прямым ответом на ваш вопрос, рекомендуется создать
bin
каталог в вашем домашнем каталоге следующим образом/home/user/bin
:Поместите туда свои личные сценарии. Они
PATH
будут проходить в том порядке, в котором вы их определили и выполняли ваши личные сценарии без.
необходимости.источник
Вам нужно иметь. в начале вашей переменной PATH:
источник