linux – 如何配置bash来处理CRLF shell脚本?
发布时间:2021-02-20 15:16:13 所属栏目:Linux 来源:互联网
导读:我想执行碰巧使用 Windows / CRLF行末尾的bash脚本. 我知道tofrodos包,以及如何使用fromdos文件,但是如果可能的话,我想运行它们,而无需任何修改. 有没有一个环境变量会强制bash来处理CRLF? 这是一个透明的解决方法: cat $/bin/bashr EOF#!/bin/bashscript=$
我想执行碰巧使用 Windows / CRLF行末尾的bash脚本. 我知道tofrodos包,以及如何使用fromdos文件,但是如果可能的话,我想运行它们,而无需任何修改. 有没有一个环境变量会强制bash来处理CRLF? 解决方法这是一个透明的解决方法:cat > $'/bin/bashr' << "EOF" #!/bin/bash script=$1 shift exec bash <(tr -d 'r' < "$script") "$@" EOF 通过允许您执行所有系统的Windows CRLF脚本,就像使用UNIX eol(使用./yourscript)一样,而不必为每个特定的调用指定它,从而摆脱了这个问题. (请注意:bash yourscript或source yourscript仍然会失败). 它的作用是因为DOS风格文件从UNIX角度将解释器指定为“/ bin / bash ^ M”.我们覆盖该文件以从脚本中删除回车符,并对结果运行实际的bash. 如果你想要的话,你可以像/ bin / sh那样为不同的解释者做同样的事情. (编辑:岳阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 如何在Linux上以编程方式设置硬件时钟?
- linux – 如何在Redhat 6.5上安装Xvfb(X虚拟帧缓
- LINUX入门:Ubuntu 14.04配置jdk1.8.0_25并可切换
- LINUX入门:php同时使用session和cookie来保存用
- 在Linux上,有什么比`find`或`diff -r`更快的方式
- linux – 如何在cron作业后发送电子邮件
- LINUX入门:CentOS6.8安装Python2.7以及XX-Net
- linux – 以特定的速度执行stdout输出
- haskell – 在Linux上编译GHC 7.2,libc版本2.7
- 如何在linux中获取C函数的手册页,而不是使用bash
热点阅读