Подтвердить что ты не робот

Проверка прав владельца файла

Я пытаюсь проверить, имеет ли файл бит выполнения, установленный для владельца в bash script.

Я знаю, что if [ -x filename ] проверяет разрешение на выполнение для пользователя, выполняющего оператор, но мне нужно знать, имеет ли его владелец. Есть ли способ указать владельца?

4b9b3361

Ответ 1

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

stat -c %A someFile

Возвращает что-то вроде:

-rw-rw-r--

EDIT: Здесь вы найдете:

stat -c %A someFile | sed 's/...\(.\).\+/\1/'

Возвращает либо -, либо x, если владелец выполнил.

РЕДАКТИРОВАТЬ 2: Для цели:

if [ `stat -c %A someFile | sed 's/...\(.\).\+/\1/'` == "x" ] 
then
  echo "Owner has execute permission!"
fi