zoukankan      html  css  js  c++  java
  • Error处理:/bin/bash^M: 坏的解释器: 没有该文件或目录(bad interpreter: No such file or directory)

    在Linux下编译运行脚本的时候出现”/bin/bash^M: 坏的解释器: 没有那个文件或目录(bad interpreter: No such file or directory)“这样的错误。

    解决方法:

        使用在终端输入sed -i 's/ $//' check_tool.sh即可

        其中check_tool.sh为文件名,这里改成自己需要的即可

    原因:

        这个文件在Windows 下编辑过,在Windows下每一行结尾是 ,而Linux下则是

        sed -i 's/ $//' check_tool.sh 会把check_tool.sh中的行尾的 替换为空白

    详细解析:

    这跟系统有关。脚本文件在windows下编辑过,windows下每一行的结尾是 ,而在linux下文件的结尾是 ,那么你在windows下编辑过的文件在linux下打开看的时候每一行的结尾就会多出来一个字符 ,

    用cat-A filename时你可以看到这个 字符被显示为^M

    [html] view plain copy
     
    1. #!/bin/bash^M$  
    2. ^M$  
    3. #Program:^M$  
    4. ^M$  
    5. #    ip scanner ^M$  
    6. ^M$  
    7. #Author:^M$  
    8. ^M$  
    9. #    wangzhe^M$  
    10. ^M$  
    11. #Time:^M$  
    12. ^M$  
    13. #    2012-9-1^M$  
    14. ^M$  
    15. #eaxmple:sh scanner.sh 192.168.1.101^M$  
    16. ^M$  
    17. ^M$  
    18. ^M$  
    19. network=$(echo $1 | cut -d. -f1-3)^M$  
    20. ^M$  
    21. ^M$  
    22. ^M$  
    23. for i in $(seq 1 254)^M$  
    24. ^M$  
    25. do^M$  
    26. ^M$  
    27.     ping -c 1 -w 1 $network.$i > /dev/null ^M$  
    28. ^M$  
    29.     if [ $? -eq 0 ]; then ^M$  
    30. ^M$  
    31.            arp $network.$i | grep ":" | awk '{print $1,$3}'     ^M$  
    32. ^M$  
    33.           echo "host $network.$i is up"^M$  
    34. ^M$  
    35.     else ^M$  
    36. ^M$  
    37.         echo "host $network.$i is down"^M$  
    38. ^M$  
    39. fi^M$  
    40. ^M$  
    41. done^M$  

    PS:cat -A 什么意思?

    A就是all的意思,就是所有的都显示出现,也就是说 默认是不显示的。

    这时候只需要删除这个字符就可以了。

    怎么删掉呢?

    正则表达式sed-i 's/ $//'filename

    说明:

    [html] view plain copy
     
    1. -i插入  
    2. s替代模式  
    3. $表示任何以 结束的字符  
    4. 整句意思是把以 结束的字符换成空白 
  • 相关阅读:
    docker save docker load
    Vue 开发线路 资料 汇总
    electron 开发拆坑总结
    mysqldbcopy 数据库复制工具
    用rsync命令删除大文件夹
    linux nc,nmap,telnet ,natstat命令
    搭建云版容器版本 需要的基础软件 安装工具
    phantomjs 前端测试工具
    消息列队 php 基于redis 实现
    部分安卓机器【小米手机】,文字显示不全
  • 原文地址:https://www.cnblogs.com/qiumingcheng/p/7682013.html
Copyright © 2011-2022 走看看