Страница 1 из 1

Bash как в линуксе

Добавлено: 2014-01-20 21:40:34
Dark Smoke
Добрый день

Очень хочу себе bash как в линуксе. Что бы ввел команду, нажал ТАБ и вывелось продолжение команды.
Как такое сделать?

Re: Bash как в линуксе

Добавлено: 2014-01-20 22:07:33
Alex Keda
именно bash?
у меня tcsh дефолтовый себя так ведёт

Код: Выделить всё

        set history = 1000
        set savehist = 1000
        set autolist = TAB
        set autologout = 30
        set color
# default color for directory (see man ls)
setenv LSCOLORS Exfxcxdxbxegedabagacad
# added by lissyara 2010-07-22 in 20:23 MSK 
setenv CLICOLOR
# added by lissyara 2010-07-28 in 09:05 MSK
setenv TMPDIR           /home/tmp
setenv MC_TMPDIR        $TMPDIR
# added by lissyara 2012-02-11 in 00:19 MSK
complete chown          'p/1/u/'
complete passwd         'p/1/u/'
complete man            'C/*/c/'
complete service        'n/*/`service -l`/'
complete sysctl         'n/*/`sysctl -aN`/'

Re: Bash как в линуксе

Добавлено: 2014-01-20 22:23:20
Dark Smoke
Я новичок, это куда прописать надо?

Баш просто привычнее

Re: Bash как в линуксе

Добавлено: 2014-01-24 17:54:04
bagas
Уменя оболчка стандартная.

Код: Выделить всё

# set | grep shell
shell	/bin/csh
ведет себя как ты описали.

Код: Выделить всё

# ports
ports_glob portsclean portsdb    portsnap   portsvnweb
Какая версия системы? uname покажи.

Re: Bash как в линуксе

Добавлено: 2014-01-24 22:30:15
Alex Keda
Dark Smoke писал(а):Я новичок, это куда прописать надо?

Баш просто привычнее
в .cshrc - если конкретному юзеру, или в /etc/csh.cshrc - если всем надо

Re: Bash как в линуксе

Добавлено: 2014-01-25 23:19:23
Dark Smoke
Какая версия системы? uname покажи.

Код: Выделить всё

# uname -a
FreeBSD avtopromin.com.ua 9.2-RELEASE FreeBSD 9.2-RELEASE #0: Tue Jan 14 21:46:16 EET 2014     darksmoke@avtopromin.com.ua:/usr/obj/usr/src/sys/AVTOPROMIN  amd64

Re: Bash как в линуксе

Добавлено: 2014-01-25 23:32:28
Dark Smoke
И попробовал tcsh, не ведет он себя так даже с этим скриптом.
Т.е. я хочу набрать pkg нажать ТАБ, и увидить варианты add, annotate, audit, autoremove,backup и т.д. выбрать вариант и начать писать название порта, опять нажать ТАБ и допишется порт или покажет возможные варианты.

В линуксе такой баш как раз, безумно удобно.

Re: Bash как в линуксе

Добавлено: 2014-01-26 0:47:27
Alex Keda
чисто к сведению, линуксовый баш не знает опций BSDшного pkg
--
вообще, у меня раньше была такая комбинация (с автодполнение pkg) на основе этих фокусов:

Код: Выделить всё

# added by lissyara 2012-02-11 in 00:19 MSK
complete chown          'p/1/u/'
complete passwd         'p/1/u/'
complete man            'C/*/c/'
complete service        'n/*/`service -l`/'
complete sysctl         'n/*/`sysctl -aN`/'
как ни странно -не пользовался. из всего списка реально юзаю в жизни service и man
редко-редко sysctl и chown
--
passwd вот остался, а pkg потерялся - и нигде не нашёл чё-то его на серверах.
напишите сами - там не очень сложно, на самом деле.
+ в рассылке это фигурировало - я туда отсылал результат. короче, при желании можно найти или сделать

Re: Bash как в линуксе

Добавлено: 2014-01-26 2:17:19
Dark Smoke
Нашел решение, получилось как хтел, bash-completion :)

Re: Bash как в линуксе

Добавлено: 2014-01-26 2:53:51
Dark Smoke
Не совсем так.. комманды то подсказывет, а дописывать команду после первого слова уже не хочет ((

Re: Bash как в линуксе

Добавлено: 2014-01-26 11:00:04
Dark Smoke
Люди, что не кто не юзает такие штуки?
например пишу pkg in, жму ТАБ, получаю pkg install
?

Re: Bash как в линуксе

Добавлено: 2014-01-26 11:07:09
bagas
pkg install
Хмм такой вариант возможно толко из истории получить. Н утипа если ты уже запукал такую совокупность команд!
Покрайне мере я про такой метод выведение подсказок не слышал.
Это рвно сильно тому что я запускуаю команду sockstat и оно мне должна вывести по нажатию клавиши tab , что весь спектор опций чтоле?

Re: Bash как в линуксе

Добавлено: 2014-01-26 11:12:43
bagas
У меня и на линуксе такого нету.

Код: Выделить всё

$ emerge inst
Пусто!
На линуксе использую баш.
Возможно это делает както модуль не нужный вообще. )

Re: Bash как в линуксе

Добавлено: 2014-01-26 12:11:25
Dark Smoke
в Убунту пишу apt-get in и он мне дописывает apt-get install
дописывает только комманды, а не опции. Любые команды которые состоят боле чем из одного слова.

Re: Bash как в линуксе

Добавлено: 2014-01-26 12:44:41
bagas
Я могу все это назваать одинм словом, баловство!!!

Re: Bash как в линуксе

Добавлено: 2014-01-26 13:51:58
Dark Smoke
да пусть так, но один раз разобравшись и настроив, можно спокойно копировать конфиг и работать удобно.

Re: Bash как в линуксе

Добавлено: 2014-01-26 16:14:54
Alex Keda
ну шо же вы такие ленивые все
ни поискать: http://lists.freebsd.org/pipermail/free ... 78983.html
ни самому сделать:

Код: Выделить всё

complete pkg      'n/*/`pkg -l`/'
---
что забавно - опцию -l ради меня добавили, а я не юзаю =((
надо добавить к себе, хай будет раз добавили

Re: Bash как в линуксе

Добавлено: 2014-01-26 22:30:45
Dark Smoke
Не ленивые, а не опытные. Иногда то что ищешь лежит на поверхности, а ты его не видешь. И должно пройти время что бы ты понял, что то что тебе нужно было всегда рядом.

Ну я так понимаю, что это решение только для одной команды. В линуксе для всех такое. Хм, может и действительно ребячество я тут затеял (.

Но этот вариант не работает (
some not work...

Re: Bash как в линуксе

Добавлено: 2014-01-26 22:39:52
Dark Smoke
На следующей странице есть ссылка на гитхаб https://github.com/freebsd/pkg/commit/8 ... 43e547eR64 и написано что работает, но не могу понять что с этим делать, куда тулить?

Re: Bash как в линуксе

Добавлено: 2014-01-27 9:44:32
FiL
Dark Smoke писал(а):Не ленивые, а не опытные. Иногда то что ищешь лежит на поверхности, а ты его не видешь. И должно пройти время что бы ты понял, что то что тебе нужно было всегда рядом.

Ну я так понимаю, что это решение только для одной команды. В линуксе для всех такое. Хм, может и действительно ребячество я тут затеял (.

Но этот вариант не работает (
some not work...
В линуксе не "для всех такое", а для тех, которые описаны в bash-completion. Во фре также. Что-то описано. Что-то нет. Если хочется, то можно базу самому пополнить.

Re: Bash как в линуксе

Добавлено: 2014-01-27 11:07:21
Dark Smoke
А расскажи, пожалуйста, как это сделать.

Re: Bash как в линуксе

Добавлено: 2014-01-27 19:28:20
Alex Keda
Dark Smoke писал(а):А расскажи, пожалуйста, как это сделать.
я же уже написал
Alex Keda писал(а):чисто к сведению, линуксовый баш не знает опций BSDшного pkg
--
вообще, у меня раньше была такая комбинация (с автодполнение pkg) на основе этих фокусов:

Код: Выделить всё

# added by lissyara 2012-02-11 in 00:19 MSK
complete chown          'p/1/u/'
complete passwd         'p/1/u/'
complete man            'C/*/c/'
complete service        'n/*/`service -l`/'
complete sysctl         'n/*/`sysctl -aN`/'
как ни странно -не пользовался. из всего списка реально юзаю в жизни service и man
редко-редко sysctl и chown
--
passwd вот остался, а pkg потерялся - и нигде не нашёл чё-то его на серверах.
напишите сами - там не очень сложно, на самом деле.
+ в рассылке это фигурировало - я туда отсылал результат. короче, при желании можно найти или сделать
Alex Keda писал(а):ну шо же вы такие ленивые все
ни поискать: http://lists.freebsd.org/pipermail/free ... 78983.html
ни самому сделать:

Код: Выделить всё

complete pkg      'n/*/`pkg -l`/'
---
что забавно - опцию -l ради меня добавили, а я не юзаю =((
надо добавить к себе, хай будет раз добавили
вообще, если у вас что-то неработает - принято выкладывать листинг того что делали и что получилось
иначе получаются сказки на ночь