今天,在新的开发环境中,执行sh脚本的时候,出现了下面的问题:
-bash: *.sh: Permission denied。
排查使用ll -rt命令,看下sh脚本的权限。
未做处理之前:
-rw-rw-r--
可以看到,之前的sh脚本是没有执行权限标识(x)的。因此定位到原因,是sh脚本没有可执行权限造成的。
解决方案
linux环境下输入:
chmod +x *.sh
再用ll-rt看下处理后的权限标识:
-rwxrwxr-x
可以看到,*.sh文件已经添加了可执行的权限。
重新执行:
sh *.sh
问题解决。
原因:在Linux中,第一次启动一个新的tomcat,用户没有权限,而导致无法执行。用命令chmod 修改一下bin目录下的.sh权限就可以了
解决:在bin目录下输入:
chmod u+x *.sh
这里的u 这里指文件所有者,+x 添加可执行权限,*.sh表示所有的sh文件
linux中执行sh文件时出现-bash: ./*.sh: Permission denied说明么有权限访问
解决步骤
1、在当前目录执行
chmod u+x *.sh
u指的是给所有用户,x给定可执行权限,*.sh所有的sh文件
linux 下执行.sh文件总是提示permission denied
如果你是root登陆的话(不是的话,切换到root用户,对*.sh赋可执行的权限) chmod 777 *.sh
or
chmod +x *.sh
然后运行就OK了
Linux chmod +755和chmod +777 区别:
755 代表用户对该文件拥有读,写,执行的权限, 同组其他人员拥有执行和读的权限,没有写的权限,其他用户的权限和同组人员权限一样。
777代表,user,group ,others ,都有读写和可执行权限。