GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Al hacer el primer script de Bash, ¿no puede hacer que el comando Cd se 'pegue'?

Esta pregunta ya tiene respuestas aquí :¿Cómo puedo crear un alias para cd y ls?

(6 respuestas)
Cerrado hace 6 años.

Para mi primer script de bash, quiero crear algo que realmente me ha estado molestando:cuando cambio de carpeta, quiero que el contenido de esa carpeta se muestre automáticamente. Intenté agregar el siguiente código a ~/.bashrc:

alias go='cd; ls'

Bastante simple pensé! No tan. Mientras escribe go /etc de hecho, enumera el contenido de /etc, mi directorio de trabajo en realidad no ha cambiado, todavía estoy en el que estaba antes. ¿Cómo soluciono esto?

Respuesta aceptada:

En tu ejemplo, go /etc hará cd; ls /etc . Eso significa, primero, cd cambiará el directorio actual a su directorio de inicio. Entonces, ls /etc mostrará el contenido de /etc .

Podría lograr lo que desea definiendo una función, así:

function go() {
    cd "$1" && ls
}

O simplemente escríbalo en la línea de comando en una sola línea:

function go() { cd "$1" && ls; }

Luego go /etc hará lo que quieras.

$1 se refiere al primer parámetro pasado al comando en este ejemplo /etc . Puede hacer referencia a los parámetros posteriores con $2 , $3 y así sucesivamente.


Ubuntu
  1. ¿Parece que faltan las primeras 75 líneas en el historial de comandos?

  2. Comando grpck:elimine las entradas corruptas o duplicadas en los archivos /etc/group y /etc/gshadow.

  3. ¿Qué hace la línea '!/bin/sh -e'?

  4. Ejecute el comando bash en la canalización de jenkins

  5. ¿Cuál es la conexión entre los directorios /etc/init.d y /etc/rcX.d en Linux?

Cómo obtener el tamaño de un directorio en Linux

La forma correcta de editar archivos /etc/passwd y /etc/group en Linux

¿Gui o simple Bash Script para acelerar la CPU?

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions

Omitir el comando/script especificado en /etc/passwd

Cómo configurar /etc/issues para mostrar la dirección IP de eth0