Файлы списка скриптов Bash от данного пользователя

StackOverflow https://stackoverflow.com/questions/4118180

  •  29-09-2019
  •  | 
  •  

Вопрос

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

#!/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"
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top