# [shell]bash + autocorreccion estilo tcsh (abierto)

## kamikaze04

Hace poco he probado tsch, y lo que mas me ha gustado, es la autocorreccion y las sugerencias que te hace cuando te equivocas al escribir un comando.

He buscado por google hasta hartarme y no he encontrado la manera de que bash haga eso mismo. Existe algo que haga funcionar la autocorrecion con bash.

Un saludo.

----------

## Stolz

No se si este programa te sirve. No corrige pero si muestra sugerencias:

```
*  app-shells/bash-completion

      Latest version available: 20050121-r10

      Latest version installed: 20050121-r10

      Size of downloaded files: 88 kB

      Homepage:    http://www.caliban.org/bash/index.shtml#completion

      Description: Programmable Completion for bash

      License:     GPL-2

```

Una gozada de programa. No solo completa comandos, sino tambien sus argumentos, por ejemplo, si escribes los siguiente

```
# ls --
```

 y pulsas 'tabulador' te muestra 

```
# ls --

--all                                      --indicator-style=

--almost-all                               --inode

--author                                   --literal

--block-size=                              --no-group

--classify                                 --numeric-uid-gid

--color                                    --quote-name

--color=                                   --quoting-style=

--dereference                              --recursive

--dereference-command-line                 --reverse

--dereference-command-line-symlink-to-dir  --show-control-chars

--directory                                --si

--dired                                    --size

--escape                                   --sort

--file-type                                --sort=

--format=                                  --tabsize=

--help                                     --time=

--hide-control-chars                       --time-style=

--human-readable                           --version

--ignore=                                  --width=
```

O si escribes lo siguiente 

```
# /etc/init.d/samba
```

 y pulsas 'tabulador' muestra 

```
# /etc/init.d/samba

broken   ineed    iuse     needsme  pause    reload   restart  start    status   stop     usesme   zap
```

Ya viene con muchos comandos tipicos de Gentoo (ebuild, emerge,...) metidos en su archivo de configuración.

Si no rescuerdo mal, para que bash-completion se añada a tu entorno y asi funcione siempre, tienes que quitar los comentarios de las lineas que aparecen al final de tu archivo ~/.bashrc que hacen referencia a bash-completion.

Espero que te sirva.

Saludozzzzz

----------

## zorth

um....

yo tambien voy a probarlo ahora mismo  :Smile: 

gracias.

editando: es una gozada, muy guapo hasta para escribir rutas larguitas con nombres machacones

----------

## DDrDark

y yo tb lo probare, parece interesante, gracias!

----------

## kamikaze04

Puestos a probar, probad la shell tcsh, yo desde que la he probado no vivo sin ella. Al parecer bash aun no tiene autocorreccion cosa que tcsh si.

hace un 

```
emerge tcsh
```

y despues cambiad a vuestro usuario en /etc/passwd en vez de poner /bin/bash que ponga /bin/tcsh

Depues probad a escribir : 

Ls

cd /usr/src/liNux

o cualquier cosa que se os ocurra...

Saludos

----------

## alexlm78

Gracias, siemrpre se aprecian las cosas nuevas,

saluditos

----------

## Coder

Gracias, ha sido todo un descubrimiento esto del bash-completion  :Very Happy: .

Un saludo

----------

## gringo

 *Quote:*   

> Depues probad a escribir :
> 
> Ls
> 
> cd /usr/src/liNux 

 

solo como una nota : bash tb puede hacer eso, y muchas cosillas mas  :Wink: 

Aqui lo explican bastante bien -> https://forums.gentoo.org/viewtopic-t-112348-highlight-shopt.html

saluetes

----------

## kamikaze04

MMM...

Voy a probar lo de shopt ahora mismo y os cuento...tiene muuuy buena pinta...a lo mejor vuelvo de tcsh a bash si las cosas pintan asi de bien.

Gracias!

----------

## kamikaze04

Me ha molado mucho el tema del shopt...volvere a mi amado bash....^_^

Tengo una duda mas, he visto en otras shells como cuando escribes /sbin/ip y haces <TAB><TAB>, en vez de salirte debajo los diferentes programas que empiezan por ip... y tu tener que escribirlo, cada vez que haces TAB,aparece en la linea de comandos uno de ellos, de tal manera no hace falta escribir para acabar de rellenar, sino que haciendo el numero suficiente de tabs, llegas a escribir la linea completa.

Asi por ejemplo si hago:

>> /sbin/ipt<TAB>

apareceria en primer lugar

>> /sbin/iptables

Si hago de nuevo TAB

>> /sbin/iptables-restore

Si hago de nuevo TAB

>> /sbin/iptunnel

etc...

Alguien sabe como le digo que no me lo muestre como menu sino que me lo muestre asi?

Saludos y gracias!

----------

