unix – ¿Cómo usar espacios en un nombre de alias de bash?

Pregunta:

Estoy intentando crear un alias en bash. Lo que quiero hacer es mapear ls -la a ls -la | more

En mi archivo .bashrc, esto es lo que intenté:

alias 'ls -la'='ls -la | more'

Sin embargo, no funciona porque (supongo) tiene espacios en el nombre de alias. ¿Hay una solución para esto?

Respuesta:

La documentación de Bash dice "Para casi todos los propósitos, se prefieren las funciones de shell a los alias". Aquí hay una función de shell que reemplaza ls y hace que la salida se canalice a more si el argumento consiste en (solo) -la .

ls() {
    if [[ $@ == "-la" ]]; then
        command ls -la | more
    else
        command ls "$@"
    fi
}

Como una sola línea:

ls() { if [[ $@ == "-la" ]]; then command ls -la | more; else command ls "$@"; fi; }

Salida de tubería automáticamente:

ls -la

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım