Стоит ли переходить на zsh для случайного использования? [закрытый]
оболочка по умолчанию в Mac OS X является bash
, который я вообще рад использовать. Я просто принимаю это как должное. Было бы очень хорошо, если бы он автоматически завершил больше вещей, хотя, и я слышал хорошие вещи о zsh
в этой связи. Но у меня действительно нет склонности тратить часы, играя с настройками, чтобы улучшить использование моей командной строки на небольшую сумму, так как моя жизнь в командной строке не так уж плоха.
(как я понимаю, bash
также может будьте настроены на автоматическое завершение более умно. Это настройка, которую я не очень люблю.)
переход на zsh
, даже в небольшом количестве случаев, сделать мою жизнь проще? Или это только лучшая оболочка, если вы вкладываете время, чтобы узнать почему лучше? (Примеры тоже были бы хороши :)
)
@Родни Амато
&
@Вулкан Готовностью
дайте две веские причины, чтобы соответственно придерживаться bash
и перейти к zsh
. Похоже, мне придется расследовать и то и другое! Ну ладно :)
есть ли кто-нибудь с мнением с обеих сторон аргумента?
6 ответов:
для случайного использования вам, вероятно, лучше придерживаться bash и просто установить завершение bash.
установка это довольно легко, захватить Баш-завершение-20060301.смола.ГЗ от http://www.caliban.org/bash/index.shtml#completion и извлечь его с
tar -xzvf bash-completion-20060301.tar.gz
затем скопируйте файл bash_completion/bash_completion в /etc с помощью
sudo cp bash_completion/bash_completion /etc
который предложит вам ввести пароль. Вы, вероятно, захотите сделать / etc / bash_completion.D каталог для любых дополнительных сценариев завершения (например, у меня есть сценарий завершения git там).
после этого сделал последний шаг, чтобы убедиться .файл bash_profile в вашем домашнем каталоге есть
if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi
в нем, чтобы загрузить файл завершения при входе в систему.
чтобы проверить его, просто откройте новый терминал и попробуйте завершить cvs, и он должен показать вам параметры cvs в списке завершений.
лично я люблю zsh.
как правило, вы, вероятно, не заметите разницы между ним и bash, пока не захотите быстро делать такие вещи, как рекурсивное глобирование:
**/*.c
например.или используйте псевдонимы суффиксов, чтобы связать определенные проги с различными суффиксами, так что вы можете "выполнить" их напрямую. Приведенный ниже псевдоним позволяет вам "запустить" исходный файл C в приглашении, просто набрав
./my_program.c
– который будет работать точно так, как если вы набралиvim ./my_program.c
. (Своего рода эквивалент двойного щелчка по значку файла.)
alias -s c=vim
или распечатать имена файлов, измененных сегодня:
print *(e:age today now:)
вы, вероятно, можете сделать все это в bash, но мой опыт работы с zsh заключается в том, что если есть что-то, что я хочу сделать, я, вероятно, могу найти его в zsh-любители. Я также нашел книгу'от Bash до Z-Shell' действительно полезный.
играть с умопомрачительно большим количеством вариантов-это тоже весело!
переключиться на zsh. Вы будете иметь доступ к:
zmv
: вы можете сделать:zmv '(*).mp3' '.wma'
для тысяч файлов.zcalc
: очень удобный калькулятор, лучше, чемbc
.zparseopts
: один лайнер для разбора произвольных сложных параметров, заданных для вашего скрипта.autopushd
: вы всегда можете сделатьpopd
послеcd
чтобы вернуться к предыдущему каталогу.- поддержка операций с плавающей точкой. Это нужно от времени приурочивать.
- поддержка хэшей. Иногда они просто ключевая особенность.
Если все, что вы хотите использовать ZSH для лучшего завершения, конфигурация довольно проста. Поместите это в свой~/.zshrc:
autoload -U zutil # [1] autoload -U compinit # [2] autoload -U complist # [3] compinit
тем не менее, стоит проверить все другие большие возможности ZSH. Приведенный выше пример даст вам довольно простой запрос с хорошим завершением. Если вы не хотите возиться с конфигурациями, но хотите посмотреть, что ZSH может сделать для вас, Google для "zshrc", и вы получите некоторые готовые к использованию конфигурации, чтобы получить начатый.
zsh имеет консоль gui конфигурации вещь. Вы можете настроить его довольно быстро и легко, без необходимости возиться с файлами конфигурации. Я не думаю, что вам понадобится много времени, чтобы настроить его, вероятно, 10 секунд с помощью только по умолчанию, так что вперед и попробовать его.
Staale говорит о мастере, как программа (CUI), которая автоматически запускается при первом запуске zsh. Просто ответьте на некоторые вопросы, просмотрите/измените значения по умолчанию и его настройки для вас.
IBM developerWorks имеет большие ресурсы на zsh.
Я не использовал очень продвинутые функции, и до сих пор я не сталкивался с серьезными различиями, которые должны мешать кому-то из bash.
примеры:
!?шаблон
будет автозаполнение до последняя команда в истории соответствия узор. Очень полезно. вы можете настроить приглашение на ПРАВАЯ СТОРОНА. Один используется для поддержания фиксированного подсказка ширины на левой стороне так что все команды выстраиваются красиво пока отображение pwd (или что-нибудь из переменная ширина) как правая рука боковая подсказка.
вы можете перенаправить входные данные из нескольких файлов (еще не пробовали это): cat