linux上写了脚本,不能执行!求解答!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux上写了脚本,不能执行!求解答!相关的知识,希望对你有一定的参考价值。
错误提示:-bash: ./killmountrestart.sh: /bin/bash: bad interpreter: Operation not permitted
/killmountrestart.sh是脚本名字。
内容如下:
#!/bin/bash
/opt/IBM/HTTPServer/bin/apachectl stop
sleep 5
pkill -9 http
sleep 5
pkill -9 java
sleep 5
umount /opt/community/cache/
sleep 5
mount -t nfs 192.168.151.201:/opt/community/cache /opt/community/cache/
sleep 5
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/startServer.sh server1
sleep 20
/opt/IBM/HTTPServer/bin/apachectl start
root账户下编写,所有用户有权限:
[root@lt1-btvwz-spaceweb4 flv]# ll
total 200
drwxrwxrwx 9 weblogic weblogic 4096 Jan 25 2010 flv_images
-rwxrwxrwx 1 weblogic weblogic 345 Aug 18 14:44 killmountrestart.sh
-rwxrwxrwx 1 weblogic weblogic 670 Jun 1 09:08 killrestart
drwxrwxrwx 2 weblogic weblogic 131072 Dec 22 2010 tempflv
drwxrwxrwx 2 weblogic weblogic 36864 Dec 22 2010 tempvideo
可是还是那个提示。
/opt下的东西都需要root权限才能修改、mount也需要root权限。
如果不是必须运行在非root用户下的话,建议试试用root账户执行。 参考技术A ./killmountrestart.sh: /bin/bash: bad interpreter: Operation not permitted
从这句来看,是 /bin/bash 不允许执行。把下面三条命令的打印结果贴上来,我再看看原因。
id
echo $SHELL
ls -l /bin/bash
另外,试一下用
bash killmoutrestart.sh
的方法来执行看看。追问
贴出来了,大虾帮忙看一下。
本回答被提问者采纳 参考技术B 你在超级用户下,用 chmod 755 killmountrestart.sh 后,在运行该 bash 脚本试一试。追问有权限,但是还是那个报错。
追答你再仔细检查一下你的SHELL操作!像你SHELL文件中的:apachectl、pkill、umount、mount之间的顺序是否正确?
另外,你再检查另一个SHELL脚本程序:startServer.sh ,估计你的这个文件中会有问题。
你将该目录下的所有文件和子目录的属主和组都改成 root、root 试试看。
有权限,但是还是那个报错。
参考技术D 你还没有修改权限,chmod 777 killmountrestart.sh再运行应该就可以了追问
有权限,但是还是那个报错。
追答那可能是你的系统没有带这个SHELL吧,#!/bin/ash或者sh试试!
以上是关于linux上写了脚本,不能执行!求解答!的主要内容,如果未能解决你的问题,请参考以下文章
shell脚本,求大神详细解答一下这个脚本的功能(参数设置方式),谢谢! (Linux下测试VDBench用的)