Как проверить, является ли файл исполняемым или нет? [дубликат]

На этот вопрос уже есть ответ здесь:

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

0
задан 1 June 2017 в 07:41

2 ответа

[ -r file ] тесты, если файл читаем.
[ -w file ] тесты, если файл является записываемым.
[ -x file ] тесты, если файл является исполняемым файлом.

<час>
if [ -x file ]; then
     ./file
else
     echo "File is not executable"
fi
<час>

Попытка это с простым примером:

#!/bin/bash
touch testfile
test -x testfile && echo true || echo false
# --> false
chmod +x testfile
test -x testfile && echo true || echo false
# --> true
rm testfile
4
ответ дан 3 November 2019 в 04:01

Рекомендуемый инструмент для определения типа файла file.

Пример исполняемого файла.

$ file c.sh a.out
c.sh:  Bourne-Again shell script, ASCII text executable
a.out: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=a741679fcc57d5dafa76025d943090fdf614b7e2, not stripped
3
ответ дан 3 November 2019 в 04:01

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

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