我想从终端执行一个脚本文件但它显示错误
root@silambarasan-PC:/media/D-DEVELOPME/androidSdk/adt-bundle-linux-x86/sdk/tools# ./android
-bash: ./android: Permission denied`
因此我从终端看到了文件权限并尝试授予执行权限。但没有用,即使我授予权限它也不会改变。
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`
我不知道该怎么办。
谢谢。
答案1
最简单的方法是将可执行文件复制到您的主文件夹并从那里启动它。
但…
您的可执行文件似乎安装在外部分区上。请确保该分区未使用 进行安装noexec
。尝试:
grep '/media/D-DEVELOPME' /etc/mtab | grep noexec
如果您看到包含单词“noexec”的行,请尝试重新挂载不带标志的分区noexec
:
mount -o remount,exec /media/D-DEVELOPME
另外,请确保您的媒体确实允许您更改权限,例如,您不能在打开只读开关的已安装 CD 或 SD 卡上执行此操作。
答案2
chmod 777 file
您可以使用而不是chmod u+x file
。其中u
表示用户,x
表示执行权限。man chmod
有关详细信息,请参阅页面。我知道 777 为用户、组和其他人提供了读取、写入和执行的所有权限,请尝试使用 u+x 语法。