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 试试看。

参考技术C 先提权 chmod 命令追问

有权限,但是还是那个报错。

参考技术D 你还没有修改权限,chmod 777 killmountrestart.sh
再运行应该就可以了追问

有权限,但是还是那个报错。

追答

那可能是你的系统没有带这个SHELL吧,#!/bin/ash或者sh试试!

以上是关于linux上写了脚本,不能执行!求解答!的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本,求大神详细解答一下这个脚本的功能(参数设置方式),谢谢! (Linux下测试VDBench用的)

CentOS7配置错误,yum命令不能用,求好心人解答

CentOS7配置错误,yum命令不能用,求好心人解答

【求助】PC上的虚拟机Liunx能和主机互ping,其他主机不能ping通Linux但能ping主机.求解答!!

mysql不能往表中的列插入中文,求大神解答,在线等~~~

用Unity3D开发赛车游戏碰到的几个问题,求高手解答