我有一些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
,一切就开始工作了。