1 查看执行sh文件的内容
[root@xxxdb0402 dbscripts]# more oswatcher_restart.sh 

#!/usr/bin/ksh

#export oswdir=`df |grep mysqllog|awk {'print $6}'`

export oswdir=/mysqllog

#th=`ps -ef|grep -v $$|grep OSWatcher.sh`

#echo $th;

if [ `ps -ef|grep -v grep|grep OSWatcher.sh|wc -l` = "0" ]

then

      cd $oswdir/osw

        echo "begin 1"

      ./startOSW.sh 60 216

 else

      echo "OSWatcher is running "

fi

exit

2 执行sh命令
[mysql@xxxdb0402 dbscripts]$ sh oswatcher_restart.sh 

begin 1

oswatcher_restart.sh: line 13: ./startOSW.sh: Permission denied

[mysql@xxxdb0402 dbscripts]$ 

[mysql@xxxdb0402 dbscripts]$ ll /mysqllog/osw/startOSW.sh 

-rw-r--r-- 1 755 mysql 1609 Sep  2 18:13 /mysqllog/osw/startOSW.sh

看了,是755的权限啊,怎么会执行不了了呢?

3 google了下,看到他们说要看前面第一栏的信息,看rwx等信息

r-- --- --- 文文件属主可读,但不能写或执行

r-- r-- --- 文文件属主和属组用户(一般来说,是文件属主所在的缺省组)可读

r-- r-- r- - 文任何用户都可读,但不能写或执行

rwx r-- r- - 文文件属主可读、写、执行,属组用户和其他用户只可读

rwx r-x --- 文文件属主可读、写、执行,属组用户可读、执

rwx r-x r- x 文文件属主可读、写、执行,属组用户和其他用户可读、执行

rw- rw- --- 文文件属主和属组用户可读、写

rw- rw- r- - 文文件属主和属组用户可读、写,其他用户可读

rw- rw- --- 文文件属主和属组用户及其他用户读可以读、写,慎用这种权限

设置,因为任何用户都可以写入该文件

chmod [who] operator [permission] filename

who 中   u  是文件主属权限  g 是属组用户权限   o 其他用户权限  a 是所有用户权限

         +  是增加权限      - 是取消权限       =  是设定权限

         r  是读权限        w 是写权限        
x是执行权限  u,g,o 针对文件属主、属组用户及其他用户的操作。


 


4  再看我的ll文件结果,没有x标示,那就是没有执行权限.
[mysql@xxxdb0402 dbscripts]$ ll /mysqllog/osw/startOSW.sh 


-rw-r--r-- 1 755 mysql 1609 Sep  2 18:13 /mysqllog/osw/startOSW.sh

5  因此重新赋予755权限
[root@xxxdb0402 dbscripts]# chmod 755 /mysqllog/osw/startOSW.sh

[root@xxxdb0402 dbscripts]# ll /mysqllog/osw/startOSW.sh 

-rwxr-xr-
x 1 755 mysql 1609 Sep  2 18:13 /mysqllog/osw/startOSW.sh

看到了,有了x标示了,表示可以执行了.

6 再次执行sh,ok了。
[root@xxxdb0402 dbscripts]# sh oswatcher_restart.sh 

begin 1

oswatcher_restart.sh: ./startOSW.sh: /bin/ksh: bad interpreter: No such file or directory

[root@xxxdb0402 dbscripts]#

又有报错,不过这就是另外一个问题了.

linux下执行sh文件报错:oswatcher_restart.sh: line 13: ./startOSW.sh: Permission denied的更多相关文章

  1. linux下编译make文件报错“/bin/bash^M: 坏的解释器,使用grep快速定位代码位置

    一.linux下编译make文件报错“/bin/bash^M: 坏的解释器 参考文章:http://blog.csdn.net/liuqiyao_01/article/details/41542101 ...

  2. linux下执行QT可执行文件报错

    老样子,不多BiBi,直接进入主题! 有时候在linux下编译好QT程序,用QTCreator运行没问题,打包移植到另一台机器上,用命令./XX执行就会报错:error while loading s ...

  3. 解决 linux下编译make文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题

    PS背景:我在公司做sdk 的pc端开发,所以经常会在win下编译通过之后跑到linux下再运行一次已确保能支持多平台. 今儿在win下跑完一程序,然后放到linux下跑的时候,我用指令: [plai ...

  4. Linux下执行Java程序报错

    在linux下编译java程序,执行javac编译生成class文件时,在centos7终端输入如,javac hello.java    会提示未找到指令,但用java -verison测试环境变量 ...

  5. Linux下Tomcat项目启动报错

    Linux下Tomcat项目启动报错 org.springframework.beans.factory.CannotLoadBeanClassException: Error loading cla ...

  6. Linux下安装Tomcat启动报错

    一.报以下错误: Using CATALINA_BASE:   /home/apache-tomcat-7.0.72Using CATALINA_HOME:   /home/apache-tomcat ...

  7. linux下unzip解压报错“symlink error: File name too long”怎么办?提供解决方案。

    点击上方↑↑↑蓝字[协议分析与还原]关注我们 " 分享unzip工具的一个bug." 最近在研究菠菜站,中间用到了Spidermonkey,碰到一些小波折,在这里分享出来,以便大家 ...

  8. Linux - xshell上传文件报错乱码

    xshell上传文件报错乱码,解决方法 rz -be 回车 下载sz  filename

  9. 解决Linux下编译.sh文件报错 “[: XXXX: unexpected operator”

    本人经常在Linux通过编译 .sh文件来生成工程,之前一直都没问题,代码一直都没变,但是今天编译的时候,却提示错误:

随机推荐

  1. 关于Repeater中使用DorpWownList的问题

    关于Repeater中使用DorpWownList的问题 前台: <asp:Repeater ID="Repeater1" runat="server" ...

  2. apache基本配置

    apache基本配置               apache本地虚拟域名配置  

  3. uva 11077 置换

    /** 给定一个置换,看能不能存在一个置换A^2 = B 思路; 循环节长度为偶数n的置换只能由循环节长度为长度2*n 的置换A*A 而变得.所以只需求出循环节,看循环节长度为偶数的个数是否为偶数个即 ...

  4. [WPF疑难]如何禁用WPF窗口的系统菜单(SystemMenu)

    原文 [WPF疑难]如何禁用WPF窗口的系统菜单(SystemMenu) [WPF疑难]如何禁用WPF窗口的系统菜单(SystemMenu) 周银辉 点击窗口左上角图标时弹出来的菜单也就是这里所说的系 ...

  5. python Unable to find vcvarsall.bat 错误

    今天遇到了这个方面的问题,目前找到两种办法.一种是换编译器如mingw,另一种是装vc.第一种方法没成功,现在正在等第二种. 第一种: 首先安装MinGW: 把MinGW的路径添加到环境变量path中 ...

  6. java学习之反射

    package com.gh.ref; public class Person { private String name; private int age; private char sex; pr ...

  7. Co-prime(容斥)

    Co-prime Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...

  8. Android百度地图之显示地图

    添加地图显示 一.在百度官网下载相关的SDK (网址:http://developer.baidu.com/map/sdkandev-download.htm) 解压下载好的BaiduMap_Andr ...

  9. Cesium 获取当前视图范围

    Cesium作为一个开源的WebGlobe解决方案已经很牛了,不过因为开发的资料不多,很多功能不知道怎么实现.下面记录下自己获取Cesium当前场景范围的方法(2维中对应的是extent). exte ...

  10. USACO Runaround Numbers 模拟

    根据题意的 Runaround 规则去找比当前数大的最近的一个 Runaround数字 模拟题~ Source code: /* ID: wushuai2 PROG: runround LANG: C ...