Проверка исполняемости с помощью test -x
На этом этапе вы научитесь проверять, является ли файл исполняемым, используя команду test
с опцией -x
. Команда test
является встроенной командой оболочки (shell), которая оценивает условные выражения. Опция -x
предназначена для проверки исполняемых разрешений.
Сначала создадим простой текстовый файл в каталоге ~/project
. Используем команду echo
для записи некоторого текста в файл с именем my_script.sh
.
echo "echo 'Hello from the script!'" > ~/project/my_script.sh
Теперь проверим, является ли этот файл исполняемым. По умолчанию, когда вы создаете новый файл таким образом, у него не будут исполняемые разрешения.
Используйте команду test -x
, за которой следует путь к файлу:
test -x ~/project/my_script.sh
После выполнения этой команды вы не увидите никакого вывода, если проверка прошла успешно (то есть файл НЕ является исполняемым). Если бы файл был исполняемым, команда test -x
вернула бы статус 0, который обычно интерпретируется как "истина" или "успех" в сценариях оболочки (shell scripting), но по умолчанию она не выводит ничего в терминал.
Чтобы увидеть результат команды test
, мы можем проверить статус завершения предыдущей команды, используя $?
. Статус завершения 0
означает, что проверка дала истинный результат (файл является исполняемым), а не нулевой статус (обычно 1
) означает, что проверка дала ложный результат (файл не является исполняемым).
echo $?
Вы должны увидеть вывод 1
, что указывает на то, что my_script.sh
в настоящее время не является исполняемым.
Теперь сделаем файл исполняемым с помощью команды chmod
. Команда chmod
используется для изменения разрешений файлов и каталогов. Мы используем +x
для добавления исполняемых разрешений для владельца файла.
chmod +x ~/project/my_script.sh
Теперь проверим исполняемость файла еще раз:
test -x ~/project/my_script.sh
И проверим статус завершения:
echo $?
На этот раз вывод должен быть 0
, что подтверждает, что файл теперь является исполняемым.
Наконец, попробуем запустить скрипт, чтобы увидеть вывод:
~/project/my_script.sh
Вы должны увидеть:
Hello from the script!
Это подтверждает, что вы успешно сделали файл исполняемым и запустили его.