тем самым при наборе каманды sudo после ответа на вапрос открывается bash под рутом ... и можно спакойно делать то что хотел
bash: автодополнение (небольшое улучшение)
Модератор: Модераторы разделов
-
omiron
- Сообщения: 33
Re: bash: автодополнение
Гы .. конечно незнаю в качестве безопасности при работе с sudo это нормально ... но хех дома я в .bashrc сделал так ... alias sudo='sudo bash'
тем самым при наборе каманды sudo после ответа на вапрос открывается bash под рутом ... и можно спакойно делать то что хотел
тем самым при наборе каманды sudo после ответа на вапрос открывается bash под рутом ... и можно спакойно делать то что хотел
Debian3.1(Sarge)/FreeBSD5.4........
-
alv
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
Re: bash: автодополнение
Несколько дополненная версия:
http://www.posix.ru/shell/bash_tab/
http://www.posix.ru/shell/bash_tab/
-
MaGIc laNTern
- Сообщения: 537
- Статус: 人です
- ОС: Gentoo
Re: bash: автодополнение
А мне вот больше нравится когда выводит команды списком, а ты сам смотришь что тебе надо и дописываешь ещё пару букв. Благо печатаю Я быстро, по мнению многих даже очень, так что с этим проблем нет.
-
new bee
- Сообщения: 220
- ОС: Arch, Ubuntu
Re: bash: автодополнение
drakon писал(а): ↑03.10.2005 13:54Меня всегда напрягало, что после sudo не работает автодополнение при помощи [TAB]
Оказалось решается очень просто: достаточно раскоментировать вот эти строки в /etc/bash.bashrc
Код: Выделить всё
# enable bash completion in interactive shells #if [ -f /etc/bash_completion ]; then # . /etc/bash_completion #fi
Только для этого понадобится сам скрипт /etc/bash_completion, который лежит в одноименном пакете (или bash-completion)
Свободного можно покорить, нельзя исправить, ведь невозможно улучшить море или ветер.
Свобода подобна тайному обряду: захочешь улучшить - оскудеет, задумаешь подчинить - исчезнет... Лао Цзы
Свобода подобна тайному обряду: захочешь улучшить - оскудеет, задумаешь подчинить - исчезнет... Лао Цзы
-
jabx
- Сообщения: 402
- ОС: OpenSuSE 11.4 / Alt 6.0
Re: bash: автодополнение
замечательно
полный RULEZZZ!!!
спс за науку.
-
*Sasha*
- Сообщения: 2519
- Статус: Мимо шёл
- ОС: Debian
Re: bash: автодополнение
А можно сделать что-бы как в zsh и меню и команды по табу полностью?
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: bash: автодополнение
видимо, чтобы Вас понять, надо быть специалистом по zsh. или на худой конец, хотя бы им пользоваться. или, уж совсем на худой конец, быть немножко телепатом.
увы, я, например, не первый, не второй и не третий.
нельзя ли расшифровать, чтобы вопрос дошел до подобных мне тормозов?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
*Sasha*
- Сообщения: 2519
- Статус: Мимо шёл
- ОС: Debian
Re: bash: автодополнение
Да уж, сейчас сам прочитал, согласен, сложная фрмулировка
Короче нужет эфект как от TAB: menu-complete, но чтоб ещё и списак возможных вариантов был.
На примере выглядит так, допустим ввожу ro, нажимаю таб, получается
Код: Выделить всё
gentoo# ro
rootflags rotatelogs rotatelogs2 routeнажимаю ещё раз
Код: Выделить всё
gentoo# rootflags
rootflags rotatelogs rotatelogs2 routeи ещё раз
Код: Выделить всё
gentoo# rotatelogs2
rootflags rotatelogs rotatelogs2 routeи т.д.
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: bash: автодополнение
в таком варианте — только одно из двух. или complete, или menu-complete.
вариации:
1. повесить (например) complete на другую кнопку. хотя, в принципе, более логично пользовать не complete + menu-complete, а menu-complete + possible-completions (по умолчанию назначено на M-?, что не очень удобно, можно назначить на какое-нибудь сочетание попроще).
2. подрихтовать readline под требуемую функциональность.
вариации:
1. повесить (например) complete на другую кнопку. хотя, в принципе, более логично пользовать не complete + menu-complete, а menu-complete + possible-completions (по умолчанию назначено на M-?, что не очень удобно, можно назначить на какое-нибудь сочетание попроще).
2. подрихтовать readline под требуемую функциональность.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
Atashidesu
- Сообщения: 45
- ОС: gentoo
Re: bash: автодополнение
у меня тоже не работает
-
MadDog
- Бывший модератор
- Сообщения: 2298
- Статус: Добрый банщик
Re: bash: автодополнение
*Sasha*
~/.zshrc
перемещение с помощью стрелок, выбор по Enter.
~/.zshrc
Код: Выделить всё
zstyle ':completion:*' menu yes selectперемещение с помощью стрелок, выбор по Enter.
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: bash: автодополнение
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
Atashidesu
- Сообщения: 45
- ОС: gentoo
Re: bash: автодополнение
sash-kan , мне нужно, чтобы первое нажатие tab работало как TAB: complete , а последующие, как TAB: menu-complite.
добавил строчки
TAB: menu-complete
set show-all-if-ambiguous On
в .inputrc , результат - по tab сразу идет перебор вариантов.
добавил строчки
TAB: menu-complete
set show-all-if-ambiguous On
в .inputrc , результат - по tab сразу идет перебор вариантов.
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: bash: автодополнение
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
Flaming
- Сообщения: 2579
Re: bash: автодополнение
В Gentoo классная штуковина есть, если набираю пол-команды, которая раньше уже набиралась (есть в истории), то при нажатии page up, команда автодополняется. Например, обновлял раньше мир недавно, то есть emerge -uDN world, набираю emerge и page up, дальше команда сама дописывается.
А в arch этого почему-то нет, при нажатии page up я перехожу на самую первую команду в истории - неудобно. Как сделать тоже самое в арче?
А в arch этого почему-то нет, при нажатии page up я перехожу на самую первую команду в истории - неудобно. Как сделать тоже самое в арче?
-
Atashidesu
- Сообщения: 45
- ОС: gentoo
Re: bash: автодополнение
Flaming писал(а): ↑04.01.2009 18:50В Gentoo классная штуковина есть, если набираю пол-команды, которая раньше уже набиралась (есть в истории), то при нажатии page up, команда автодополняется. Например, обновлял раньше мир недавно, то есть emerge -uDN world, набираю emerge и page up, дальше команда сама дописывается.
А в arch этого почему-то нет, при нажатии page up я перехожу на самую первую команду в истории - неудобно. Как сделать тоже самое в арче?
по
Код: Выделить всё
!emergeбудет искаться в истории последняя команда на emerge
еще можно листать както
а чтоб по up листалось, в inputrc добавь
Код: Выделить всё
"\e[A": history-search-backward
"\e[B": history-search-forward-
Flaming
- Сообщения: 2579
Re: bash: автодополнение
Atashidesu, в /etc я такой файл нашёл, /etc/inputrc
А как сделать для отдельного юзверя? Создать ~/.inputrc ?
Atashidesu, сделал так (добавив в ~/.inputrc - работает так) - после этого теперь команды листаются не по page up, down, а стрелками.
В принципе, так тоже можно, но я другое имел ввиду.
А как сделать для отдельного юзверя? Создать ~/.inputrc ?
Atashidesu, сделал так (добавив в ~/.inputrc - работает так) - после этого теперь команды листаются не по page up, down, а стрелками.
-
Atashidesu
- Сообщения: 45
- ОС: gentoo
Re: bash: автодополнение
Flaming, ты тему то читал?
да, ~/.inputrc для отдельного юзера.
толькочто проверил, работает именно по стрелочкам
вот еще список команд для работы с историей:
основные операторы обращения к различным частям предыдущей команды:
да, ~/.inputrc для отдельного юзера.
толькочто проверил, работает именно по стрелочкам
вот еще список команд для работы с историей:
- !! - ссылается на предыдущую команду;
- !n - ссылается на команду под номером n;
- !-n - ссылается на команду по номером „текущая минус n”;
- !string - ссылается на команду, начинающуюся с string;
- !?string[?] - ссылается на команду, содержащую строку string;
- ^string1^string2[^] - „быстрая замена”, заменяет первое вхождение строки string1 в предыдущей команде, на
string2, после чего выполняет полученную команду. - !!:p, !string:p , etc. - ссылается без выполнения (печатает команду);
основные операторы обращения к различным частям предыдущей команды:
- $ - последний аргумент командной строки;
- ^ - первый аргумент командной строки;
- 0 - нулевое слово, другими словами имя команды;
- N - N-ый аргумент командной строки;
- x-y - аргументы с x по у командной строки;
- -y - сокращенное обращение к 0-y;
- * - все аргументы, синоним 1-$;
- x* - синоним x-$, другими словами аргументы с номера x до конца строки;
- x- - синоним x*, но не включает последний аргумент.
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: bash: автодополнение
Atashidesu
"\e[A" — это стрелка вверх, "\e[B" — стрелка вниз.
а pageup/pagedown — это (скорее всего): "\e[5~" и "\e[6~",
определить точнее для своей системы можно, нажав ctrl-v и искомую клавишу.
например, нажимаю ctrl-v, затем pageup. получаю:
^[[5~
грубо говоря, заменяю «^[» на «\e» — и получаю искомый код.
Flaming
в некоторых дистрибутивах уже есть нужные описания в /etc/inputrc, закомментированные. надо раскомментировать нужные, и закомментировать ненужные.
если таких строк нет — можно смело дописать.
или создать файла ~/.inputrc. написанное в нём будет иметь более высокий приоритет перед общесистемным /etc/inputrc.
"\e[A" — это стрелка вверх, "\e[B" — стрелка вниз.
а pageup/pagedown — это (скорее всего): "\e[5~" и "\e[6~",
определить точнее для своей системы можно, нажав ctrl-v и искомую клавишу.
например, нажимаю ctrl-v, затем pageup. получаю:
^[[5~
грубо говоря, заменяю «^[» на «\e» — и получаю искомый код.
Flaming
в некоторых дистрибутивах уже есть нужные описания в /etc/inputrc, закомментированные. надо раскомментировать нужные, и закомментировать ненужные.
если таких строк нет — можно смело дописать.
или создать файла ~/.inputrc. написанное в нём будет иметь более высокий приоритет перед общесистемным /etc/inputrc.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
Flaming
- Сообщения: 2579
-
Bluetooth
- Сообщения: 4395
- Статус: Блюзовый
- ОС: Debian Squeeze amd64
Re: bash: автодополнение
Добавил в файл ~/.inputrc следующие строки:
Вот только по варианты дополнения появляются по двойному нажанию ESC, а мне хотлеось бы сразу. никто не знает, как это сделать?
и еще, когда я добавляю эти строки:
у меня совершенно перестает вводиться точка(символ "."). я что-то неправильно делаю?
Код: Выделить всё
set show-all-if-ambiguous on
TAB: menu-complete
ESC: possible-completions
"\e[A": history-search-backward
"\e[B": history-search-forwardВот только по варианты дополнения появляются по двойному нажанию ESC, а мне хотлеось бы сразу. никто не знает, как это сделать?
и еще, когда я добавляю эти строки:
Код: Выделить всё
# enable bash completion in interactive shells
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fiу меня совершенно перестает вводиться точка(символ "."). я что-то неправильно делаю?
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: bash: автодополнение
из описанного — ничего.
для начала определите, где «затык». переименуйте ~/.inputrc (а для уверенности, и /etc/inputrc) и посмотрите, как влияет вызов /etc/bash_completion на возможность ввода точки.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог