файлы списка скриптов bash от данного пользователя - PullRequest
0 голосов
/ 07 ноября 2010

У меня проблема с этим.Это постоянно возвращает меня, а не каталог, но, безусловно, это

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

Еще одна вещь, мне нужен небольшой совет.Я должен перечислить файлы от данного пользователя в данном каталоге, где я получаю и пользователя и каталог в качестве параметров.Просто предложения, пожалуйста.

Ответы [ 2 ]

1 голос
/ 07 ноября 2010

Вы не проверяете наличие того же каталога, что пытаетесь перечислить - может быть, вы имеете в виду -d "/home/$DIR"?Или из вашего требования, у вас есть два параметра?

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

# and then examine "/home/$user/$dir"
1 голос
/ 07 ноября 2010

Находитесь ли вы в каталоге /home при запуске этого?Если нет, вы можете изменить его на:

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

, чтобы соответствовать команде ls.Предполагается, что вы запускаете его с чем-то вроде myscript pax для проверки каталога /home/pax, что, как представляется, имеет место.

И если вы хотите перечислить только те файлы, принадлежащие определенномуПользователь, вы можете использовать awk только для печати тех, для которых в столбце 3 установлено желаемое значение ($usrnm), что-то вроде:

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