LG.BALUKATION's Weblog

Ничего, это тоже кое-что… А при желании из него можно сделать что угодно

${PATH}

Posted by LG.BALUKATION на 2011/01/08

Интересное дело случайно узнал сегодня. Началось всё случайно — малость пообсуждали с Иваном Семёновым разницу между whereis и which, ессно не обойдя вниманием и окружение…

Вот тут меня и накрыло — оказывается, в моде держать среди путей и какой-нить кусок пользовательской директории (обычно так и названный bin)! Для меня это стало совершенно внезапным знанием — понятно, что технически это не сложно и юзер сам может сделать это при желании всего парой движений, но речь идёт о поведении «искаропки» без всяких дополнительных настроек!

Если честно, я даже не поверил и полез проверять — прогнал в виртуалке GuestBSD, BSDAnywhere, Fedora, на нетбуке у меня есть openSuSE, у Вани есть Ubuntu, а у ElVovan в виртуалке нашёлся Debian… действительно во всех них прям искаропки прописан один из путей, полностью подвластный юзеру. Причём в некоторых системах самого подкаталога даже не существует при этом (в иных случаях он пустой). Только привычные мне Gentoo и MacOS X не обладают такой «функциональностью».

Понятно конечно, что туда может быть удобно складывать самописные скриптики и при желании можно самому такую штуку сделать очень просто, но мне всёж кажется это неожиданным поведением по-умолчанию (особенно в системах, где такого каталога просто нет после установки).

Реклама

комментариев 11 to “${PATH}”

  1. Ну а что, естественный отбор :) Это кстати фича пакета bash_completion если мне не изменяет память. А вообще прямое подтверждение того что есть перекос в попытке сделать линукс популярным любой ценой. Понятно что подразумевается что на десктопной машине нет левых пользователей. Но благодаря легкости установки любой даун может себе установить один из опулярных дистрибутивов. И пойти качать «няшки». А в няшках может быть такая штука http://pastie.org/1439301 Дальше немного социальной инженерии, и юзер сам отдаст свой пароль.

  2. FAndrey said

    Да ладно вам, чего вы паникуете, в BSD, да именно так, без всяких ещё приставок, было вот так весело
    http://www.freebsd.org/cgi/cvsweb.cgi/src/share/skel/dot.cshrc?rev=1.1;content-type=text%2Fplain
    Потом сформировалось более классическое и до сих пор используемое, где приоритет всё же у системных папок.

    2 Семенов
    Чтоб такого не было, можно легко и не принужденно смонтировать /home с no execute

  3. MyFreeWeb said

    Так причём здесь whereis и which? Кто-то из них ищет в пользовательской директории, а кто-то нет?

  4. MyFreeWeb, which ищет по любым путям, указанным в окружении, а whereis не смотрит окружение, зато смотрит пути, которые сама система считает пригодными для хранения бинарников

  5. FAndrey said

    2 LG.BALUKATION
    беглый просмотр man показал ещё что which весьма проще, и зачастую может быть реализован, внутри shell, что может весьма положительно повлиять на скорость исполнения.

  6. FAndrey, да вроде одинаковой сложности прожки, просто список путей для просмотра берут из разных мест. В шелл такое запихивать имеет смысл лишь как побочный эффект ИМХО, например если в шелле делать какую крутую систему подстановок и дополнений, тогда можно как её часть и эту функциональность поместить.

  7. FAndrey said

    Ох ты Ё, я вечно гляну тут у себя, а в этих варварских линуксах как обычно всё не как у людей.
    man which и man whereis

  8. оу, в линуксе и я ман не читал, под рукой обчно мак нынче и там всё просто http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/whereis.1.html

  9. FAndrey said

    Ну они тоже те ещё фокусники, вот прям так и говорят :)
    COMPATIBILITY
    The historic flags and arguments for the whereis utility are no longer available in this version.
    а which у них стандартная BSDшная :)

  10. Какие фокусы — честно предупредили +) Да и в посихе (смотрел в POSIX.1-2008 AKA SUSv4) например вообще таких утилит/команд оболочки не описывается +) Я тем временем Haiku посмотрел — там whereis просто нету.

    Сдаётся мне, в дарвине большая часть консольных штук стандартная BSDшная и не секрет это. В открытых сорсах тоже часто упоминается, лишь время от времени снабжённое отдельными вставками кода Эппла

  11. FAndrey said

    Ну POSIX вообще весьма общий стандарт :) да ещё и бабки надо платить чтоб гордый шильдик навесить, или это про UNIX

    Ну да википедия шлёт куда то сюда http://osxbook.com/book/bonus/ancient/whatismacosx//arch_xnu.html

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s