Подтвердите, что у пользователя есть доступ для чтения и доступ для записи к текущему каталогу

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

4
задан 9 February 2017 в 01:19

1 ответ

Через test команда:

# doesn't  echo OK, because no read-write permissions
$ [ -r /proc/28127/task/28189/fd ] && [ -w /proc/28127/task/28189/fd  ] && echo "OK" 
# echoes OK, because my user has read-write permissions to the directory
$ [ -r $HOME ] && [ -w $HOME  ] && echo "OK"                                                          
OK

Это может быть помещено в функцию и сохранить это в ~/.bashrc или используемый в сценарии:

check_dir() {
    [ -r "$1" ] && [ -w "$1" ] && echo "OK" 
} 

И используемый в качестве так:

$ check_dir $HOME
OK

команда Via find:

# Doesn't return directory name because I don't have read/write permissions
$ find /proc/28127/task/28189/fd -maxdepth 0 -readable -writable                                      

# Returns  directory name, because I can write/read there
$ find $HOME  -maxdepth 0 -readable -writable                                                         
/home/xieerq
4
ответ дан 1 December 2019 в 09:45

Другие вопросы по тегам:

Похожие вопросы: