Командная строка (можно ни исправить)
Модератор: arachnid
-
Nelegal
- Сообщения: 16
- ОС: Slackware FreeBSD
Командная строка
Добрый День.
В FreeBSD токая особенность по умолчанию, что когда вводишь команд в shell например pkg + Tab то комманда не прописывается до pkg_ и не дает выбор. Мне как новичку очень тяжело так работать, я привык и Unix? можно ли как то это поменять, чтобы и выбор был и дописывал до следующих повторяющихся букв в команде.
Заранее Спасибо и простите новичка.
В FreeBSD токая особенность по умолчанию, что когда вводишь команд в shell например pkg + Tab то комманда не прописывается до pkg_ и не дает выбор. Мне как новичку очень тяжело так работать, я привык и Unix? можно ли как то это поменять, чтобы и выбор был и дописывал до следующих повторяющихся букв в команде.
Заранее Спасибо и простите новичка.
-
Igor Yakimchuk
- Сообщения: 110
- ОС: FreeBSD
Re: Командная строка
в шеле csh вместо tab используйте ctrl+d, или поставьте bash, там будет tab.
-
alv
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
Re: Командная строка
Как верно было замечено в следующем посте, это не во FreeBSD, а в csh, который используется в ней по умолчанию как рутовый шелл.
Вариант решения:
1) вызывать рутовый шелл как /bin/tcsh - на самом деле это одно и то же, но вызванный как csh, tcsh его и эмулирует, а под своим именем - работает как он сам
2) прочитать маны и сделать подходящий конфиг для tcsh или найти в сети готовый и доделать под себя
один из таковых есть, например, здесь: http://alv-posix.blogspot.com/2008/08/c-shell-tcsh.html
Второй вариант - действительно поставить из портов или пакетов другой шелл. Только следует учесть, что интерактивные возможности bash без bash-completion ничуть не шире, чем у tcsh.
Оптимальным будет zsh, но его нужно должным образом настроить - опять же в сети много примеров конфигов.
control+d по умолчанию выводит варианты, а не даёт автодополнение
-
Igor Yakimchuk
- Сообщения: 110
- ОС: FreeBSD
Re: Командная строка
control+d по умолчанию выводит варианты, а не даёт автодополнение
это да, малость ошибся.
-
Nelegal
- Сообщения: 16
- ОС: Slackware FreeBSD
Re: Командная строка
Igor Yakimchuk писал(а): ↑14.09.2008 17:46control+d по умолчанию выводит варианты, а не даёт автодополнение
это да, малость ошибся.
А как выполнить автодополнение
-
alv
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
Re: Командная строка
Nelegal писал(а): ↑14.09.2008 21:18Igor Yakimchuk писал(а): ↑14.09.2008 17:46control+d по умолчанию выводит варианты, а не даёт автодополнение
это да, малость ошибся.
А как выполнить автодополнение
Если Вас не устроили предыдущие советы, то никак: в чистом /bin/csh автодополнение работает только для путей, но не для команд.
-
arachnid
- Модератор
- Сообщения: 1100
- ОС: freeBSD
Re: Командная строка
а как называется действие, когда csh (и tcsh) при отсутствии вариантов дополнят команду?
например, набираю sd, жму ctrl-d, предлагается три варианта, добавляю i, жму ctrl-d и появляется полная команда sdiff ?
например, набираю sd, жму ctrl-d, предлагается три варианта, добавляю i, жму ctrl-d и появляется полная команда sdiff ?
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
-
arkhnchul
- Сообщения: 2284
- Статус: Толчковый инженер
- ОС: Debian, Fedora
Re: Командная строка
в чистом /bin/csh автодополнение работает только для путей, но не для команд
Losing is fun!
-
arachnid
- Модератор
- Сообщения: 1100
- ОС: freeBSD
Re: Командная строка
в следующий раз думаем, если не знаем, ставим imho, а лучше молчим
на всякий случай - сейчас во фре 7.0 есть два испольняемых файла - и tcsh и csh. оба этих файла имеют одинаковый размер и совпадающую контрольную сумму md5, что позволяет говорить об их полной идентичности. с зависимости от того, запущу я один или другой, измениться вид приглашения, но поведение в виде автодополнения не меняется.
поэтому я и уточнил.
ps. давайте проверять, а то некрасиво получается...
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
-
evil
- Сообщения: 149
Re: Командная строка
у меня в csh tab дополняет название команды если оно уникально 
-
arkhnchul
- Сообщения: 2284
- Статус: Толчковый инженер
- ОС: Debian, Fedora
Re: Командная строка
в следующий раз думаем, если не знаем, ставим imho, а лучше молчим
на форуме любой пост означает имхо автора, а не непреложную истину...
зы у меня в свежепоставленной фре автдополнение команд не работает. Пищит спикером и все. Если писать полный путь - /bin/чонить - <ctrl-d> - дополняет, просто команду - нет...
Losing is fun!
-
arachnid
- Модератор
- Сообщения: 1100
- ОС: freeBSD
Re: Командная строка
Arkhnchul писал(а): ↑16.09.2008 12:25в следующий раз думаем, если не знаем, ставим imho, а лучше молчим
на форуме любой пост означает имхо автора, а не непреложную истину...
зы у меня в свежепоставленной фре автдополнение команд не работает. Пищит спикером и все. Если писать полный путь - /bin/чонить - <ctrl-d> - дополняет, просто команду - нет...
сейчас на работе с csh автодополнение срабатывает по tab'у - то есть при однозначном соотвествии
э... а почему с дома я написал, что по ctrl-d дополняет? странно
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
-
alv
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
Re: Командная строка
Очень верное замечание. А ещё лучше - сначала читаем, чтобы было над чем думать.
Так вот, файлы /bin/csh и /bin/tcsh есть не только в 7.0 - они были во Free всегда.
Но чистого C-shell в ней никогда не было, потому что это не свободная программа.
Чтобы убедиться, что /bin/csh и /bin/tcsh - идентичны, не обязательно считать их контрольные суммы, достаточно дать команду ls -i и поглядеть на ID этих файлов.
Ибо /bin/csh - это хардлинк на /bin/tcsh
Но /bin/tcsh, запущенный как /bin/csh, полностью эмулирует чистый C-shell, то есть игнорирует все продвинутые фичи последнего, в том числе и автодополнение команд. Это специально сделано по умолчанию и изменяемо посредством редактирования конфигов.
Но по умолчанию именно так, как сказано выше.
PS только что проверил, м.б. за последний год чего изменилось? Ни фига - в свежепоставленной пререлизной 7.1, в которой я никаких конфигов ещё перекроить не успел, всё рутовое чисто по умолчанию. Так вот:
Код: Выделить всё
av79773# pkg_
pkg_add pkg_create pkg_delete pkg_info pkg_updating pkg_version
av79773# pkg_a
pkg_add
av79773# pkg_aСоответственно, после каждого # pkg и так далее нажималось Control+d
-
arachnid
- Модератор
- Сообщения: 1100
- ОС: freeBSD
Re: Командная строка
проишел домой, проверил. почему написал, что дополнение происходит по ctrl-d - не скажу. вечернее помутнение?
но по tab'у дополнение работает. в файлах .cshrc никаких особых параметров не прописанно
но по tab'у дополнение работает. в файлах .cshrc никаких особых параметров не прописанно
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
-
blah
- Сообщения: 24
Re: Командная строка
где это документировано?
set autolist?Nelegal писал(а): ↑13.09.2008 00:01В FreeBSD токая особенность по умолчанию, что когда вводишь команд в shell например pkg + Tab то комманда не прописывается до pkg_ и не дает выбор. Мне как новичку очень тяжело так работать, я привык и Unix? можно ли как то это поменять, чтобы и выбор был и дописывал до следующих повторяющихся букв в команде.
-
arachnid
- Модератор
- Сообщения: 1100
- ОС: freeBSD
Re: Командная строка
blah писал(а): ↑17.09.2008 04:10где это документировано?set autolist?Nelegal писал(а): ↑13.09.2008 00:01В FreeBSD токая особенность по умолчанию, что когда вводишь команд в shell например pkg + Tab то комманда не прописывается до pkg_ и не дает выбор. Мне как новичку очень тяжело так работать, я привык и Unix? можно ли как то это поменять, чтобы и выбор был и дописывал до следующих повторяющихся букв в команде.
спасибо за set autolist - действительно, есть в мане такая фича. но странно, что у меня нигде эта переменная не определена.
и нигде в скриптах, читаемых tcsh, тоже...
ага, согласно ману tab будет дополнять всегда, когда соотвествие однозначно, а в случае установки autolist по табу будут выводиться и варианты
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
-
alv
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
Re: Командная строка
Признаю свою ошибку:
действительно, /bin/csh и /bin/tcsh при одинаковых конфигах ведут себя абсолютно одинаково, что от рута, что от юзера.
В частности, при безальтернативности дополнение по Tab работает и там, и там.
действительно, /bin/csh и /bin/tcsh при одинаковых конфигах ведут себя абсолютно одинаково, что от рута, что от юзера.
В частности, при безальтернативности дополнение по Tab работает и там, и там.