Linux 我写了一个简单的脚本aaa.sh,内容没有问题,权限也都有,我用./aaa.sh执行提示我“不允许的操作” 10
但是我用bashaa.sh或者shaa.sh或者../aa.sh执行的时候就可以成功,唯独用任何用户执行./aa.sh就不行求解释这是什么原因...
但是我用bash aa.sh或者sh aa.sh或者. ./aa.sh 执行的时候就可以成功,唯独用任何用户执行./aa.sh就不行 求解释这是什么原因
展开
展开全部
你的脚本写的格式有问题的。建议这样:
#! /bin/sh
echo "------"
exit
这样写出来的脚本是不会遇到你上面的问题了。第一行的“#! /bin/sh”不要少。有了这行定义,系统就知道你写的是一个shell脚本,另外你的脚本缺少可执行权限,需要使用chmod +x aaa.sh命令将可执行权限添加上去,这样,就可以使用./aaa.sh来执行这个脚本了。
#! /bin/sh
echo "------"
exit
这样写出来的脚本是不会遇到你上面的问题了。第一行的“#! /bin/sh”不要少。有了这行定义,系统就知道你写的是一个shell脚本,另外你的脚本缺少可执行权限,需要使用chmod +x aaa.sh命令将可执行权限添加上去,这样,就可以使用./aaa.sh来执行这个脚本了。
更多追问追答
追问
我这个脚本是肯定没有问题的,这只是我举了个例子,我现在主要的问题是,任何脚本只要是用./*sh去执行,都提示的是不允许操作
追答
你的脚本缺少可执行权限,需要使用chmod +x aaa.sh命令将可执行权限添加上去,这样,就可以使用./aaa.sh来执行这个脚本了。
展开全部
1、检查有没有执行权限(x是执行权限)
ls -l *sh
2、增加执行权限
chmod a+x *.sh
或者
chmod 755 *.sh
3、sh aaa.sh可以执行是因为你指定了shell
ls -l *sh
2、增加执行权限
chmod a+x *.sh
或者
chmod 755 *.sh
3、sh aaa.sh可以执行是因为你指定了shell
追问
权限什么的都没有问题,我就想知道如何去解决这个问题
追答
1、第一行指定shell
#!/bin/sh
2、需要file是可执行文件,
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你将你的文件加一个可执行的权限就行了。
chmod +x aaa.sh
然后试试?
. ./aaa.sh 第一个.的意思是源的意思。
bash及sh代表用shell去运行,算是指定的。
chmod +x aaa.sh
然后试试?
. ./aaa.sh 第一个.的意思是源的意思。
bash及sh代表用shell去运行,算是指定的。
追问
权限肯定是有的,你说的这些我都知道,我只想知道为什么我用./aaa.sh没法执行,怎么去解决
追答
该分区(文件系统)有没有设置了禁止运行程序的限制,信息量很少。你像他们那样写一个正规的简单的sh,再试试看看,没遇到过此类问题,另外如果./不行的话可能很多rpm包的脚本命令也弄不上去啊,哦对了,测试的话到其他分区试试看,可加
su -c a.sh root
或者
su -c ./a.sh
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-13
展开全部
在文件第一行加上#!/bin/bash或者#!/bin/sh 指定脚本用什么解释
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你文件头部加:#!/bin/sh
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询