我使用以下脚本使用kermit连接到我的串行设备:
#!/usr/bin/kermit
set port /dev/ttyUSB8
set speed 115200
set carrier-watch off
set flow-control none
set prefixing all
OUTPUT ifconfig\13但它会引发以下错误:
bash: ./test.script: /usr/bin/kermit^M: bad interpreter: No such file or directory我怀疑我在爆炸后给出的道路可能是问题所在。如何找到正确的路径使我的脚本工作?
发布于 2017-03-30 13:17:33
在执行完该命令之后,您将执行该命令。脚本名将是第二个参数。因此,在bash的情况下,您有#!/bin/bash,它相当于调用bash ./script。在您的示例中,该命令等效于:
sudo /usr/bin/kermit ./test.script
您应该检查是否安装了kermit,以及它是否在/usr/bin中,例如使用命令which kermit。
编辑。
阿。现在我发现了错误。第一行有一个^M (CR)。转到脚本的第一行,删除行尾,然后重做。这是在Unix/Linux中实现的。DOS/Windows将添加^M,这不是很好的解释。
发布于 2017-03-30 13:27:53
^M是一个回车,这意味着您的脚本可能是在Windows机器上编写的。
若要删除回车返回,只留下新行,请执行以下操作:
perl -pi.old -e 's{\r}{}' file这将执行内部更新,首先将原始文件备份为".old“。
https://unix.stackexchange.com/questions/354823
复制相似问题