Обновить
133
0

Пользователь

Отправить сообщение
Это позволяет мне работать комфортнее и быстрее.
Кеш используете?
Несложно. Но zsh дает вам больше возможностей.
в современных вариантах известные хосты в хешах и нечитаемом виде в этом файле лежат
Честно говоря никогда не обращал внимание, но у меня хосты в ~/.ssh/known_hosts вполне читаемы.
Это из коробки такой функционал или сами что-то докручивали?
Собственно вот:
# use /etc/hosts and known_hosts for hostname completion
[ -r /etc/ssh/ssh_known_hosts ] && _global_ssh_hosts=(${${${${(f)"$(</etc/ssh/ssh_known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _global_ssh_hosts=()
[ -r ~/.ssh/known_hosts ] && _ssh_hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=()
[ -r /etc/hosts ] && : ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}} || _etc_hosts=()
hosts=(
  "$_global_ssh_hosts[@]"
  "$_ssh_hosts[@]"
  "$_etc_hosts[@]"
  "$HOST"
  localhost
)
zstyle ':completion:*:hosts' hosts $hosts
foxmuldercp, в oh-my-zsh есть плагин, который строит дополнение хостов по содержимому ~/.ssh/known_hosts.
На самом деле zsh – потрясающая оболочка, которая реально увеличивает производительность.
Топик получился поверхностным, но, наверное, он таким и должен быть для только что состоявшихся свитчеров или тех, кто над этим задумывается.

Прийдется свою статью запилить :)
Да less это. Просто пример слишком короткий, поэтому разницы между cat и less нет (практически).
foxmuldercp, извините, ступил, это опция для bash'a, a не zsh.
zsh, ЕМНИП, так не умеет.
Все правильно делаете.
Устраивает bash – пользуйтесь на здоровье.
Исправляет опечатки, если может.
Например по cd /avr/logs автоматически перейдет в /var/log.
phikus
как имитировать поведение опции cdspell из баша?
 shopt -s cdspell
С чего бы? Портабельность не аргумент (лично для меня), так как скрипты пишу для себя.
A где упоминание oh-my-zsh? Из разряда must have.
@ != «прятать», @ == «подавлять вывод»
По дефолту (если нет своего хендлера) именно прятать. Поскольку подавленный вывод даже в логе (error_log) не осядет.
делается простой grep @ по коду
Для этого у меня есть xdebug с опцией scream :)
Стоит уточнить, что обработчик будет срабатывать только при ошибке.
Верно. Но даже без ошибок мы получаем накладные расходы, которых можно избежать.
VolCh, походу зависит от заданного типа ошибок.
Если вы установили собственную функцию обработки ошибок с помощью set_error_handler(), то она все равно будет вызвана, однако, если внутри этой функции будет вызвана функция error_reporting(), то она вернет 0, если функция, вызвавшая данную ошибку, была подавлена с помощью @.
Промахнулся. Перенес ответ выше.
У вас результат еще хуже, чем у меня :) (значения с @ и без отличаются практически на порядок).
Тест простой:
% cat test1.php 
<?php 
function x() { } 
for ($i = 0; $i < 1000000; $i++) { x(); }

% time php test1.php
php test1.php  1,24s user 0,03s system 69% cpu 1,833 total

% cat test2.php 
<?php 
function x() { } 
for ($i = 0; $i < 1000000; $i++) { @x(); }

% time php test2.php
php test2.php  1,51s user 0,03s system 75% cpu 2,059 total


+ будет райзиться ошибка в кастомном хендлере, если он есть (это дополнительный тормоз)
+ сложнее дебажить
+ ошибки надо исправлять, а не прятать :)

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность