bash file di elenco di script da determinato utente
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.
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"