路由添加命令不适用于 bash 脚本

路由添加命令不适用于 bash 脚本

我有一些route add命令要在 Ubuntu 上运行。当我复制命令并将其粘贴到终端上时它就起作用了。但我尝试创建一个看起来像这样的 bash 脚本

#!/bin/bash

sudo route add -net 'someIp' netmask 255.255.0.0 gw 'anotherIp' 
sudo route add -net 'someOtherIp' netmask 255.255.0.0 gw 'anotherIp'

但是当我运行它时。输出是:

SIOCADDRT: Dispositivo inexistente

可以翻译成SIOCADDRT: device does not exist

我已经运行chmod +x该文件并尝试使用 sudo 运行脚本,但它不起作用。

我缺少什么?

答案1

几天后,我终于发现了问题所在。起初,我没有将其添加#!/bin/bash到脚本中,但是添加后,它仍然不起作用。然后我发现了这个帖子(葡萄牙语)解释说问题可能是文件上的一些不可见字符,这是有道理的,因为我已经从.bat文件手动转换了它。所以我只需要跑sed -i 's/\r$//' routes.sh,一切就开始工作了。

相关内容