Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di stl
    Registrato dal
    Mar 2006
    Messaggi
    166

    bash e listato directory

    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

  2. #2
    Utente di HTML.it L'avatar di Fabiuz
    Registrato dal
    Nov 2004
    Messaggi
    892
    perchè non ti fai un bello script?
    non dovrebbe essere molto difficile...
    Debian Sarge 3.01a
    Slackware 10.2

  3. #3
    Il modo piu' facile per fare un replace di "cd" e' lavorare in ".bashrc", quindi edita il tuo ".bashrc" e aggiungi questo codice


    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.
    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

  4. #4
    Utente di HTML.it L'avatar di stl
    Registrato dal
    Mar 2006
    Messaggi
    166
    grazie tante!
    ma c'è un problema, se la directory è vuota mi esce questo errore:

    bash: [: : integer expression expected



  5. #5
    Originariamente inviato da stl
    grazie tante!
    ma c'è un problema, se la directory è vuota mi esce questo errore:

    bash: [: : integer expression expected


    Si', prova cosi'

    codice:
    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
    }
    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

  6. #6
    Utente di HTML.it L'avatar di stl
    Registrato dal
    Mar 2006
    Messaggi
    166
    grazie tante

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.