Файлы списка скриптов Bash от данного пользователя
Вопрос
У меня проблема с этим. Это постоянно возвращает меня, а не каталог, но, безусловно, это
#!/usr/local/bin/bash
DIR=$1
if [ -d "$DIR" ]; then
ls -1Apl /home/$DIR | grep -v /\$
else
echo "not a directory"
fi
Еще одна вещь, мне нужно немного намека. Я должен перечислить файлы от данного пользователя в данном каталоге, где я получаю как пользователь, так и каталог в качестве параметров. Просто предложения, пожалуйста.
Решение
Вы в /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}{}'
Другие советы
Вы не тестируете на существование того же каталога, что и вы пытаетесь перечислить - возможно, вы имеете в виду -d "/home/$DIR"
? Или из вашего требования у вас есть два параметра?
user="$1"
dir="$2"
# and then examine "/home/$user/$dir"