共 1 篇文章

标签:shell 无法执行

解决shell无法执行的问题-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

解决shell无法执行的问题

解决shell无法执行的问题  更新时间:2023年11月24日 16:17:48   作者:逆光倾城   这篇文章主要介绍了解决shell无法执行的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教 目录 原因1_换行符错误导致 转换方法1:Windows 下使用 notepad++ 转换方法2:Linux 下使用 sed 命令 剖析问题来源 原因2_执行权限导致 问题1解决方法 问题2解决方法 问题3解决方法 总结 原因1_换行符错误导致 摘要: Linux 系统,shell 脚本文件内,换行符为 CRLF 导致的,转换为 LF 换行,即可正常运行。 在Notepad++软件上,视图–显示符号–显示行尾符,可看到二者差异, 如下图所示: 转换方法1:Windows 下使用 notepad++ 编辑–文档格式转换–转为 Unix(LF) 转换方法2:Linux 下使用 sed 命令 #另存模式 sed -e 's,^M,,g' old.sh > new.sh #覆盖模式 sed -i 's,^M,,g' old.sh 注意 ^M的输入方式为:按住Ctrl,按下V,松开V,按下M,松开。 不是shift+6,再按M 不是shift+6,再按M 不是shift+6,再按M 剖析问题来源 该 shell 脚本文件在 Windows 系统上创建,或经过 Windows 系统另存; 该 shell 脚本通过 git 下载,但 git 配置了不自动转换格式; 该 shell 脚本由 Windows 习惯的程序生成。 原因2_执行权限导致 摘要: shell 脚本由于种种原因,不具备执行的权限,权限问题包括 3 个方面: 问题1:缺少 shell 解析器 问题2:shell 文件本文的权限 问题3:操作系统对 shell 脚本执行的管理 问题1解决方法 这个问题的排查方法可以用命令 sh xxx.sh来测试,如果手动指定解析器,可以运行脚本的话,那么属于缺少shell解析器的问题,如果仍然无法运行脚本,则不属于问题1。 在 shell 文件开头,添加如下1行代码: #!/bin/bash 问题2解决方法 通过chmod命令解决,如: chmod a+x xxx.sh 问题3解决方法 在某些安全性较高的Linux发行版系统中,系统不允许未认证的程序执行,包括脚本。 可尝试,通过系统设置、安全中心等配置,调整安全级别,使其能够运行。 总结 以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 您可能感兴趣的文章: Linux系统使用XShell连接VMware虚拟机详细图文教程 解决linux shell中传递包含空格的参数问题 Linux shell中如何获取当前目录 Linux中shell脚本的jq命令用法详解 使用linux java shell启动脚本 shell 无法执行 相关文章...

技术分享