Я хочу выполнить файл сценария из терминала, но он показывает ошибку
root@silambarasan-PC:/media/D-DEVELOPME/androidSdk/adt-bundle-linux-x86/sdk/tools# ./android
-bash: ./android: Permission denied`
, поэтому я увидел разрешения для файла из терминала & amp; пытался дать разрешение на выполнение. но бесполезно, даже если я даю разрешение, оно не изменится.
root@silambarasan-PC:/media/D-DEVELOPME/androidSdk/adt-bundle-linux-x86/sdk/tools# ll android
-rw-r--r-- 1 silambarasan silambarasan 3498 Dec 6 08:14 android
root@silambarasan-PC:/media/D-DEVELOPME/androidSdk/adt-bundle-linux-x86/sdk/tools# chmod 777 android
root@silambarasan-PC:/media/D-DEVELOPME/androidSdk/adt-bundle-linux-x86/sdk/tools# ll android
-rw-r--r-- 1 silambarasan silambarasan 3498 Dec 6 08:14 android`
Я не знаю, что делать.
Спасибо.
Проще всего было бы скопировать исполняемый файл в вашу домашнюю папку и запустить его оттуда.
Но…
Кажется, ваш исполняемый файл смонтирован на внешнем разделе. Убедитесь, что раздел не смонтирован с noexec
. Попробуйте:
grep '/media/D-DEVELOPME' /etc/mtab | grep noexec
Если вы видите строку, содержащую слово «noexec», попробуйте заново смонтировать раздел без флага noexec
:
mount -o remount,exec /media/D-DEVELOPME
Также убедитесь, что ваш носитель на самом деле позволяет изменять разрешения, например, Вы не можете сделать это на смонтированном компакт-диске или SD-диске, если включен только для чтения.
Вместо chmod 777 file
вы можете использовать chmod u+x file
. Где u
означает пользователя и x
означает разрешения на выполнение. См. man chmod
страницы для получения дополнительной информации. Я знаю, что 777 дает все права на чтение, выполнение записи для пользователя, группы и других, попробуйте использовать синтаксис с u + x.