[FUG-BR] CSH Shell Auto Complete
Marcelo Gondim
gondim em bsdinfo.com.br
Segunda Outubro 31 11:09:41 BRST 2011
Em 31/10/2011 10:58, Paulo Henrique BSD Brasil escreveu:
> Cuidado em mudar o shell do root para uma slice em /usr, em caso de pane
> não terá shell em single-user para arrumar.
> Mante o shell padrão do sistema para o root ou instale o bash com
> prefix=/ e não prefix=/usr/local ou prefix=/usr/opt.
> Att.
Opa Paulo,
Aqui comigo no single-user ele usou a shell padrão. O ruim mesmo foi o
prompt que não funcionou e ficou meio estranho rsrsrsrsrs
Ele pede a shell:
Enter full pathname of shell or RETURN for /bin/sh: aí é só dar enter.
> Em 31/10/2011 09:03, Marcelo Gondim escreveu:
>> Em 30/10/2011 21:42, Carlos Eduardo G. Carvalho (Cartola) escreveu:
>>> Oi, veja se não tem o tcsh para instalar no NetBSD, pois no FreeBSD o csh é
>>> na verdade o tcsh disfarçado. É como o vi no Linux, que é o vim disfarçado.
>>> O vi original é toscão (sem preconceitos, gosto muito). O tcsh é o csh
>>> "turbinado", mal comparando com o bash, que seria o sh "turbinado".
>> É eu não largo o bash desde que me conheço como gente uso o bash
>> rsrsrsrsr Gosto tanto do bash
>> que toda vez que instalo um FreeBSD rodo esse script que fiz;
>>
>> 1) Atualiza o ports.
>> 2) Instala o bash.
>> 3) Muda o shell do root pra bash.
>> 4) Coloca um prompt amigável sem muita firula.
>> 5) Seta uns alias para não deixar acontecer um cp, rm ou mv acidental
>> rsrsrs e cria um alias "l" bem legal que já mostra arquivos diretórios
>> ocultos e chflags.
>> 6) Instala o vim e deixa o vi como vim no alias.
>> 7) Faz funcionar algumas teclas como home, end e delete no prompt.
>>
>> Para quem tiver o mesmo gosto cá está o script. Melhorias são sempre bem
>> vindas:
>>
>> #!/bin/sh
>> # MyFreeHome 1.2: Configura ambiente amigavel no FreeBSD
>> # ======================================================
>> # Data: 20/09/2011
>> # Hora: 23:59
>> # Local: Curso SSA - FreeBSD Brasil Setembro de 2011
>> # Baseado no documento:
>> http://www.cyberciti.biz/faq/freebsd-install-vim-editor-without-x11-gui/
>> ################################################################################################
>> clear
>> echo "=== MyFreeHome 1.1 ==="
>> echo
>> echo "Atualizando Ports..."
>> echo
>> portsnap fetch update
>> echo
>> echo "Instalando BASH uhuhuhu!!!"
>> echo
>> cd /usr/ports/shells/bash
>> make install clean distclean
>> echo
>> echo "Mudando shell do root para bash..."
>> pw usermod root -s /usr/local/bin/bash
>> echo
>> echo "Instalando novo prompt e aliases..."
>> echo "if [ \`/usr/bin/whoami\` = 'root' ]">> /root/.profile
>> echo " then">> /root/.profile
>> echo "
>> PS1='\[\033[36m\](\[\033[01;31m\]\u\[\033[01;37m\]@\h\[\033[00m\]\[\033[36m\])\[\033[00m\]\[\033[36m\][\[\033[01;37m\]\w\[\033[00m\]\[\033[36m\]]\[\033[01;37m\]\[\033[36m\]\\$
>> \[\033[00m\]'">> /root/.profile
>> echo " else">> /root/.profile
>> echo "
>> PS1='\[\033[36m\](\[\033[32;33;1m\]\u\[\033[01;37m\]@\h\[\033[00m\]\[\033[36m\])\[\033[00m\]\[\033[36m\][\[\033[01;37m\]\w\[\033[00m\]\[\033[36m\]]\[\033[01;37m\]\[\033[36m\]\\$
>> \[\033[00m\]'">> /root/.profile
>> echo "fi">> /root/.profile
>> echo "">> /root/.profile
>> echo 'alias l="ls -laAGo"'>> /root/.profile
>> echo 'alias rm="rm -i"'>> /root/.profile
>> echo 'alias mv="mv -i"'>> /root/.profile
>> echo 'alias cp="cp -i"'>> /root/.profile
>> echo 'alias vi="vim"'>> /root/.profile
>> echo
>> echo "Instalando VIM sem suporte a X11..."
>> cd /usr/ports/editors/vim
>> make WITHOUT_X11=yes install clean distclean
>> cp /usr/local/share/vim/vim73/vimrc_example.vim /usr/local/share/vimrc
>> touch /root/.vimrc
>> echo "set nocompatible">> /root/.vimrc
>> echo "filetype on">> /root/.vimrc
>> echo "filetype plugin on">> /root/.vimrc
>> echo "set laststatus=2">> /root/.vimrc
>> echo "syntax on">> /root/.vimrc
>> echo
>> echo "Criando melhorias no sistema..."
>> echo
>> echo "export INPUTRC=/usr/local/etc/inputrc">> /etc/profile
>> echo "set meta-flag on">> /usr/local/etc/inputrc
>> echo "set input-meta on">> /usr/local/etc/inputrc
>> echo "set convert-meta off">> /usr/local/etc/inputrc
>> echo "set output-meta on">> /usr/local/etc/inputrc
>> echo "">> /usr/local/etc/inputrc
>> echo '"\e[1~": beginning-of-line'>> /usr/local/etc/inputrc
>> echo '"\e[4~": end-of-line'>> /usr/local/etc/inputrc
>> echo '"\e[5~": beginning-of-history'>> /usr/local/etc/inputrc
>> echo '"\e[6~": end-of-history'>> /usr/local/etc/inputrc
>> echo '"\e[3~": delete-char'>> /usr/local/etc/inputrc
>> echo '"\e[2~": quoted-insert'>> /usr/local/etc/inputrc
>> echo '"\e[5C": forward-word'>> /usr/local/etc/inputrc
>> echo '"\e[5D": backward-word'>> /usr/local/etc/inputrc
>> echo
>> echo " Fim de instalacao! Favor relogar e bom uso!"
>> echo
>>
>>> Abs,
>>>
>>> Carlos E G Carvalho (Cartola)
>>> http://cartola.org/360
>>>
>>>
>>>
>>> Em 30 de outubro de 2011 21:29, Airton Arantes
>>> <airton.arantes em gmail.com>escreveu:
>>>
>>>> Pessoal, eu sempre uso o shell padrão do FreeBSD (csh), quando eu quero o
>>>> "auto complete" para nome de arquivos, eu simplesmente faço um:
>>>>
>>>> # set autolist
>>>>
>>>> Com isso eu posso ter meu auto complete para nomes de arquivos. Bem, agora
>>>> eu instalei um NetBSD com um shell padrão diferente(csh) do recomendado
>>>> pelo NetBSD(ksh). Meu problema está sendo que eu não consigo fazer o
>>>> autocomplete na linha de comando usando o csh, mas só usando o ksh. Vou
>>>> mostrar abaixo como está sendo o comportamento do csh no NetBSD;
>>>>
>>>>
>>>> Digamos que eu queira dar um comando "reboot" , então vou lá e digito:
>>>>
>>>> # reboo[TAB]
>>>>
>>>> Ele não completa o comando, ele simplesmente entra com um TAB normal como
>>>> se o cursor estivesse dentro de um arquivo texto, por que isso acontece?
>>>> Pelo que andei lendo, eu deveria configurar algumas variáveis de ambiente,
>>>> como o EDITOR por exemplo. Se eu configuro o EDITOR dessa forma:
>>>>
>>>> # set EDITOR=vi
>>>>
>>>> Eu consigo apenas o autocomplete para nomes de arquivos, e mesmo assim
>>>> pressionando a tecla ESC e não a tecla TAB. Alguém aí pode dar uma ajuda?
>>>>
>>>> --
>>>>
Mais detalhes sobre a lista de discussão freebsd