当前位置: 首页 > 编程笔记 >

Shell脚本bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录

澹台博文
2023-03-14
本文向大家介绍Shell脚本bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录,包括了Shell脚本bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录的使用技巧和注意事项,需要的朋友参考一下

有时候编写脚本时会出现类似标题列出的错误,这个问题大多数是因为你的脚本文件在windows下编辑过。windows下,每一行的结尾是\n\r,而在linux下文件的结尾是\n,那么你在windows下编辑过的文件在linux下打开看的时候每一行的结尾就会多出来一个字符\r,用cat -A urfile时你可以看到这个\r字符被显示为^M,这时候只需要删除这个字符就可以了。可以使用命令sed -i 's/\r$//' urfile 。有时候编写脚本时会出现类似标题列出的错误,这个问题大多数是因为你的脚本文件在windows下编辑过。windows下,每一行的结尾是\n\r,而在linux下文件的结尾是\n,那么你在windows下编辑过的文件在linux下打开看的时候每一行的结尾就会多出来一个字符\r,用cat -A urfile时你可以看到这个\r字符被显示为^M,这时候只需要删除这个字符就可以了。可以使用命令sed -i 's/\r$//' urfile 。

 类似资料:
  • 问题内容: 我试图在Mac OS X EL Captain 10.11上使用Java 1.7 SDK和Hadoop2.7.1运行一个简单的单词计数MapReduce程序,并且在我的容器日志“ stderr” / bin / bash中得到以下错误消息:/ bin / java:无此文件或目录 应用日志 命令我正在运行 我的ENV变量是- 问题似乎是因为YARN对JAVA可执行文件使用的路径与您在O

  • 我一直在使用Docker映像在Heroku上发布Rasa聊天机器人的教程。我正在使用视窗10,我是Docker的新手。 当我进入步骤时,它会在Dockerfile中运行,但会输出以下错误: 容器和linux。go:380:启动容器进程导致:exec:“/bin/bash”:stat/bin/bash:没有这样的文件或目录 我试着在其他StackOverflow响应中做了一些建议,比如更新ubunt

  • 问题内容: 问题:我收到此错误消息: 导出:错误的解释器:无此类文件或目录 当我执行此bash脚本时: 但是bash路径似乎是正确的: 我究竟做错了什么?还是这是Lucid Lynx的错误? 我做了 问题答案: 第一行告诉Linux在哪里可以找到解释器。该脚本还应该可以通过执行,就像您执行的一样。 您很有可能使用Windows编辑器创建了此文件,该编辑器将在每行的末尾放置一个。这是dos / wi

  • 写一个脚本,任意输入一个目录和一个字符串,对输入的字符串进行判断,如果字符串内容等于”ww”,则将该目录下的所有子目录删除,所有子文件拷贝到/var 目录下:如果字符串内容等于”rr”,则在该目录下创建 test1.txt 文件

  • 我正在使用两个版本的ROS,彼此相邻。要使用它,我必须为特定版本提供一些环境变量。我想创建一个脚本来实现这一点。但是如果我创建一个如下的脚本,变量没有设置,它们可能是在子shell中设置的。如何将文件源文件发送到主终端外壳? source.sh: 以下是我如何调用source。上海: 更新:通过采购来源。正如答案中所建议的那样,我现在可以看到正在设置的变量。

  • 问题内容: 我正在尝试使用最新的修订包修补一堆CENT OS计算机。我有下面的bash脚本,它将csv文件作为输入,这些文件具有这些计算机的ip地址和密码。 该代码运行良好,但是,它仅适用于第一行,而对于其余列表似乎无效,因为我的output.txt仅具有第一行host的条目。 补丁 hosts_test.cvs 终端输出 因为stdin不是终端,所以不会分配伪终端。 问题答案: 在sshpass