GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Realizzando il primo script Bash, non riesci a far "attaccare" il comando Cd?

Questa domanda ha già risposte qui :Come posso creare un alias per cd e ls?

(6 risposte)
Chiuso 6 anni fa.

Per il mio primo script bash, voglio creare qualcosa che mi abbia davvero infastidito:quando cambio cartella, voglio che il contenuto di quella cartella venga spostato automaticamente. Ho provato ad aggiungere questo codice seguente a ~/.bashrc:

alias go='cd; ls'

Abbastanza semplice ho pensato! Non così. Durante la digitazione di go /etc elenca effettivamente il contenuto di /etc, la mia directory di lavoro non è effettivamente cambiata, sono ancora in quella in cui mi trovavo prima. Come posso rimediare?

Risposta accettata:

Nel tuo esempio, go /etc farà cd; ls /etc . Ciò significa, prima, cd cambierà la directory corrente nella tua directory home. Quindi, ls /etc visualizzerà il contenuto di /etc .

Puoi ottenere ciò che desideri definendo una funzione, in questo modo:

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

Oppure digitalo semplicemente nella riga di comando su una singola riga:

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

Quindi go /etc farà quello che vuoi.

$1 fa riferimento al primo parametro passato al comando in questo esempio /etc . Puoi fare riferimento ai parametri successivi con $2 , $3 e così via.


Ubuntu
  1. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

  2. Immettere automaticamente l'input nella riga di comando?

  3. Come viene aggiornato /etc/motd?

  4. La cronologia dei comandi sembra mancare le prime 75 righe?

  5. Ubuntu 14.04 "non ha ricevuto un file Uri di riproduzione in entrata::///*"?

Come ottenere la dimensione di una directory in Linux

Il modo giusto per modificare i file /etc/passwd e /etc/group in Linux

La differenza tra ~/.profile, ~/.bashrc, ~/.bash_profile, ~/.gnomerc, /etc/bash_bashrc, /etc/screenrc …?

Bash Echo La riga di comando eseguita sulla riga di comando stessa (non in uno script)?

Gui o un semplice script Bash per limitare la CPU?

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions