LINUX.ORG.RU

как сделать чтобы скрипты запускались без ./

 


2

2

У меня как-то стоял, ЕМНИП, ksh, и там скрипты из текущей директории запускались просто по имени. Нельзя ли сделать, чтобы в bash'е так было?

UPD странно, установил щас ksh, он тоже так не работает. Может это от оси вообще зависит?



Последнее исправление: newtimebigtime (всего исправлений: 1)

переменная PATH
добавить в неё «текущий каталог»
PATH=«${PATH}:.»
export PATH

bl ★★★
()
Ответ на: комментарий от newtimebigtime

а в том, что в общедоступном каталоге кто-то может создать файл с именем sudo и ты можешь подарить свой пароль кому-нибудь другому

r0ck3r ★★★★★
()
Ответ на: комментарий от r0ck3r

а в том, что в общедоступном каталоге кто-то может создать файл с именем sudo и ты можешь подарить свой пароль кому-нибудь другому

Если добавить точку в конец PATH (как у тебя), sudo будет сперва искаться по системным путям.

staseg ★★★★★
()
Ответ на: комментарий от newtimebigtime

А то, что подарить пароль ты можешь и таким образом, только от другого акка.

дыра в sudo

Лоллировал.

DeadEye ★★★★★
()
Ответ на: комментарий от r0ck3r

Но я например все равно не вижу в этом смысла. Указание текущего каталога явно означает, что программа будет искаться здесь, это наглядно и удобно, в конце концов можно запускать локальные сборки софта, не трогая системный. Вариант «без ./» добавляет непредсказуемости и зависимости от расположения точки в PATH. Короче, нафиг оно надо? :)

staseg ★★★★★
()
Ответ на: комментарий от newtimebigtime

В том, что если в текущем каталоге лежит исполняемый файл «sudo», то по sudo ... запустится именно он, а не /usr/bin/sudo, ну или где там системный лежит.

anonymous
()
Ответ на: комментарий от newtimebigtime

Дальше он отошлет доброжелателю твой пароль.

leave ★★★★★
()
Ответ на: комментарий от staseg

а я и не говорю, что надо ) ТСу нужно - пускай пользуется)

У меня пальцы сами ./ набирают когда нужно)

r0ck3r ★★★★★
()
Ответ на: комментарий от r0ck3r

А вот я всё равно даже после того, как добавил . в PATH всё равно по привычке ./ набираю

sudopacman ★★★★★
()

А я наоборот . из PATH убираю там, где оно по умолчанию.

Набрать ./ несложно, да и не так часто надо запускать из текущего каталога.

Xenius ★★★★★
()

Может еще чужой скрипт не завестись, рассчитывая на стандартное поведение.

tlx ★★★★★
()
Ответ на: комментарий от tlx

Если ты положил бинарник в каталог со скриптом при таком PATH, то, вероятно, рассчитывал на что-то. Или просто любишь стрелять по ногам.

anonymous
()
Ответ на: комментарий от anonymous

Я не про того, кто запускает, а про сторонний софт. Допустим один из шагов - запуск скрипта из текущей дериктории с именем find, внутри которого выполняется команда find. Вместо команды, наверное, скрипт запустить сам себя и вылетет с ошибкой.

tlx ★★★★★
()
Последнее исправление: tlx (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.