shell脚本报错

报错——syntax error near unexpected token

1. 这是因为在Windows中的回车符在Linux中被表示为了 ^M ,使用二进制模式打开脚本:

  • vim -b monitor.sh

我们会发现在每行的末尾都会有一个 ^M,如果消灭 ^M 呢?我们想到了几种方法,其一就是使用 sed 命令:

  • sed -i 's/^M//' monitor.sh
这里的^M是由 ctrl+v 和 ctrl+m 生成ctrl+v 组合键使下一个特殊字符可以插入在当前位置, 如先按 ctrl+v 再按ctrl+s 可以在当前位置插入一个 ^S 字符。


2. 另一个去除 ^M 的方法就是使用vim中的替换功能:

  • vim -b monitor.sh    以二进制模式打开脚本
  • :%s/^M//g             去除^M
  • shift+z+z                 保存退出
shift+z+z是vim的保存退出命令,以上命令请手敲,任何有替换功能的命令都可以完成以上操作。


3. 当然会产生这种错误的原因是因为该脚本是在Windows下编写的,所以该脚本就是dos格式的,所以我们将脚本格式转换为unix格式也就ok了。

  • :set ff=unix
用vim打开脚本后输入以上命令,就可以达到转换格式的目的。


报错——bad interpreter: 没有那个文件或目录

当出现这个报错时,原因是与上一个报错类似的,所以我们只需要:

  • vim monitor.sh
  • :set ff=unix

在虚拟机中找不到共享文件的位置

在使用VMware时我们已经安装了VMware tools,已经打开了“共享文件夹”功能,也已经添加了路径:



这时我们将文档放入主机的共享文件夹中,但是虚拟机中怎么使用呢?首先我们要先了解一下linux中的mnt目录,这个目录被称为挂载目录,当挂载设备后,这个目录中就会出现相应的目录。

  • /mnt/hgfs
当打开上面的目录时,我们就会发现共享文件夹就在其中。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值