Автор Гілка: bash-completion magic  (Прочитано 2036 раз)

Відсутній nickat

  • Письменник
  • *****
  • дописів: 587
  • Карма: +0/-0
  • Debian user
bash-completion magic
« : 2009-08-30 12:54:08 »
Просто не уявляю собі, як я не дізнався про цю фічу раніше...  В Debian є пакет bash-completion.  Встановлюємо його та розкоментуємо в /etc/bash.bashrc такі рядки:

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi


Отримуємо:

sudo apti<tab> i<tab> umb<tab> => sudo aptitude install umbrello  (доповнює назву пакета або видає список можливих пакетів)

tar <tab><tab> => A  c  d  r  t  u  x    (можливі опції)

unzip <tab><tab> => перелік всіх zip-архівів та директорій у поточному каталозі.
Best regards,
nickat

Михайло Даниленко

  • Гість
Re: bash-completion magic
« Відповідей #1 : 2009-08-30 14:18:05 »
Тільки при цьому завантаження bash навіть на швидкій машині помітно сповільнюється, оскільки я запускаю багато терміналів, довелося це вимкнути... :(

Відсутній nickat

  • Письменник
  • *****
  • дописів: 587
  • Карма: +0/-0
  • Debian user
Re: bash-completion magic
« Відповідей #2 : 2009-08-30 22:05:31 »
Тільки при цьому завантаження bash навіть на швидкій машині помітно сповільнюється, оскільки я запускаю багато терміналів, довелося це вимкнути... :(

$ time xterm -e exit

real      0m0.186s
user      0m0.072s
sys      0m0.012s
$ time xterm -e exit

real      0m0.196s
user      0m0.072s
sys      0m0.012s
$ time xterm -e exit

real      0m0.194s
user      0m0.076s
sys      0m0.008s

тобто на 5 терміналів десь 1с, машина далеко не найшвидша.  У вас швидше/повільніше?

Без bash-completion не набагато швидше:
$ time xterm -e exit

real      0m0.190s
user      0m0.072s
sys      0m0.012s
$ time xterm -e exit

real      0m0.180s
user      0m0.080s
sys      0m0.016s
$ time xterm -e exit

real      0m0.178s
user      0m0.056s
sys      0m0.036s

Може проблема у чомусь іншому?
Best regards,
nickat

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: bash-completion magic
« Відповідей #3 : 2009-08-30 22:18:24 »

tsubasa:~$ time bash -c 'source /etc/bash_completion'

real0m0.303s
user0m0.264s
sys0m0.040s
tsubasa:~$ time bash -c ':'

real0m0.003s
user0m0.000s
sys0m0.004s

для мене затримка у третину секунди є відчутною.
P.S. Celeron 1800 Mhz
P.P.S. На Celeron 600 Mhz це було взагалі страшно.
P.P.P.S. Стосовно ваших результатів:
xterm -e запускає bash -c

tsubasa:~$ echo echo hi >> .bashrc
tsubasa:~$ bash
hi
tsubasa:~$ exit
tsubasa:~$ bash -c 'exit'
tsubasa:~$
« Змінено: 2009-08-30 22:36:24 від ISBear »

Відсутній nickat

  • Письменник
  • *****
  • дописів: 587
  • Карма: +0/-0
  • Debian user
Re: bash-completion magic
« Відповідей #4 : 2009-08-31 18:38:34 »
P.P.P.S. Стосовно ваших результатів:
xterm -e запускає bash -c
Так, звичайно, bash запускається як non-interactive...  Переробив: приблизно такі самі результати, як і у вас.  Але виключати не буду, дуже подобається  :)
Best regards,
nickat