Алексей Федорчук
Об одной, но ответственной фиче Zsh мне напомнил джуйковец @kapsh. Она действительно сравнима с честью открытия Дворца бракосочетания спортсменкой, комсомолкой, отличницей и, наконец, просто красавицей Наталией Варлей. Фича эта — «суффиксные», более удачного определения на языке родных осин я не придумал, псевдонимы. что это?
Подобно тому, как добаление к команде alias
опции -g
с помощью магии превращает обычный псевдоним в глобальный (о разоблачении этой магии я уже имел удовольствие рассказывать), так и опция -s
«суффиксным». То есть привязывает суффикс имени файла (те, кто, подобно автору этих строк, затронуты порчей чёрным DOS’ом, до сих пор часто называют его «расширением») к некоей программе, которая может сотворить над ним нужное действо. Например, если задать псевдоним такого вида
$ alias -s html=links
а затем набрать в CLI такое
$ path2/некто.html
то этот самый некто.html
будет открыт в текстовом браузере Links.
Чем, разумеется, возможности «суффиксных» псевдонимов не исчерпываются — как всегда, предел им ставит только фантазия применителя применительно к его задачам. Ограничусь одним примером.
Какой же русский не любит Командера-полуночника? В том числе и потому, что он — однин из сыновей незабвенного командера Нортона, имя которого, в свою очередь, не более чем alias незабвенного лейненанта Шмидта (история его чудесного спасения из лап царской охранки и последующей блестящей карьере сначала в ВМС Пендостана, а затем в интернациональном софтверном бузиненсе реконструирована нашими замечательными историками из славного Екатеринбурга). Впрочем, со временем наш русский применитель, не смотря на весь свой патриотизм, начинает понимать, что слепая любовь к MC связывает ему руки в операциях с возлюбленной CLI, и хорошо бы с командиром расстаться, как это делают цивилизованные люди — без скандалов и истерик.
Но тут возникает проблема: MC — один из самых удобных способов просмотра того, из чего состоят файлы пакетов (будь то deb, rpm или что ещё из tar.*z-серии). Так вот, механизм «суффиксных» псевдонимов Zsh предлагает нам адекватную замену: если дать команду, например,
$ alias -s deb='dpkg -c'
а затем набрать в командной строке такое:
$ path2/opera-beta_25.0.1614.11_amd64.deb
то мы сразу увидим, что же припасли для нас разработчики этого многими любимого браузера в своём полуподпольном пре-релизе за нумером 25:
drwxr-xr-x root/root 0 2014-09-13 03:54 ./ drwxr-xr-x root/root 0 2014-09-13 03:54 ./usr/ drwxr-xr-x root/root 0 2014-09-13 03:54 ./usr/bin/ drwxr-xr-x root/root 0 2014-09-13 03:54 ./usr/lib/ drwxr-xr-x root/root 0 2014-09-13 03:54 ./usr/lib/x86_64-linux-gnu/ ...
Понятное дело, что аналогичные псевдонимы можно придумать и для всяких rpm-и tgz-пакетов. И, разумеется, наиболее востребованные из них занести в кондуит… то есть в ~/.zshrc
.