Domanda

Ho un problema con questo. E 'costantemente me tornando, non è una directory, ma è certamente

#!/usr/local/bin/bash  
DIR=$1  
if [ -d "$DIR" ]; then  
        ls -1Apl /home/$DIR | grep -v /\$  
else  
        echo "not a directory"
fi

Una cosa di più, ho bisogno di un piccolo suggerimento. Devo file di elenco da un determinato utente in una data directory, dove ho ottenere sia l'utente e directory come parametri. suggerimenti soli, per favore.

È stato utile?

Soluzione

Sei nella directory /home quando si esegue questo? In caso contrario, si può decidere di modificarla in:

if [ -d "/home/$DIR" ]; then

per abbinare il comando ls. Ciò presuppone che si sta eseguendo con qualcosa come myscript pax per esaminare la directory /home/pax, che sembra essere il caso.

E se si desidera elencare solo i file in là di proprietà di un utente specifico, è possibile utilizzare awk per stampare solo quelli con colonna 3 set al valore desiderato ($usrnm), qualcosa come:

ls -1Apl /home/$DIR | grep -v /\$ | awk -v user=${usrnm} '$3==user{print}{}'

Altri suggerimenti

Lei non è il test per l'esistenza della stessa directory in cui si sta cercando di lista - forse -d "/home/$DIR" media? O dal vostro requisito, hai due parametri?

user="$1"
dir="$2"

# and then examine "/home/$user/$dir"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top