PDA

Visualizza la versione completa : bash e listato directory


stl
28-04-2006, 14:02
salve gente.
sono alla ricerca di un modo per far si che dopo un

cd path

la bash mi restituisca un listato del contenuto della directory

c gia qualcosa di pronto?

in particolare una cosa del genere sarebbe carina, ovvero:

-se oggetti contenuti nella directory sono inferiori o uguali a tot fammi un
ls -lh --color=auto

-se maggiore fammi un
ls --color auto

grazie

Fabiuz
29-04-2006, 00:28
perch non ti fai un bello script?
non dovrebbe essere molto difficile...

Mutato
29-04-2006, 01:51
Il modo piu' facile per fare un replace di "cd" e' lavorare in ".bashrc", quindi edita il tuo ".bashrc" e aggiungi questo codice




dir(){
cd "$1"
items=$(ls -1 | nl | tail -1 | awk '{print $1}')
if [ "$items" -le "30" ]; then
ls -lh --color=auto
else
ls --color=auto
fi
}

alias cd=dir


Attenzione, adesso "cd" si comporta sempre nel modo che hai descritto, se vuoi puoi anche commentare "alias cd=dir" e usare semplicemente :

~$ dir path

lasciando inalterato l'uso di cd.

stl
29-04-2006, 09:01
grazie tante!
ma c' un problema, se la directory vuota mi esce questo errore:

bash: [: : integer expression expected

:zizi:
:(

Mutato
29-04-2006, 15:10
Originariamente inviato da stl
grazie tante!
ma c' un problema, se la directory vuota mi esce questo errore:

bash: [: : integer expression expected

:zizi:
:(

Si', prova cosi'



dir(){
cd "$1"
items=$(ls -1 | nl | tail -1 | awk '{print $1}')
if [ ! -z "$items" ]; then
if [ "$items" -le "30" ]; then
ls -lh --color=auto
else
ls
fi
fi
}

stl
29-04-2006, 16:04
grazie tante

Loading