根据这篇文章,我想自动执行此过程,因此我需要向 bash 脚本 + 文件内容添加命令和标头以运行 ubuntu 18.04 并创建静态 arp 表。例如我的 .sh:
lan=eth0
awk -F";" '{print $3 " " $2}' infile | xargs -I {} echo {} > outfile
注意:文件内容 ip mac
输出:
192.168.1.1 00:e0:1e:b4:12:42
192.168.1.2 00:e0:1e:b4:13:43
第一个问题:空头。需要“#!/bin/sh”或“#!/bin/bash”,解决:
sed -i -e '1i#!/bin/bash\'
第二个问题:缺少添加 arp 命令“arp -i $lan -s”。解决:
sed -e 's/^/arp -i $lan -s /'
现在我需要绑定这些命令来获得这个输出:
#!/bin/bash
arp -i eth0 -s 192.168.1.1 00:e0:1e:b4:12:42
arp -i eth0 -s 192.168.1.2 00:e0:1e:b4:13:43
我应该修复我的命令以添加此内容吗?谢谢
更新(已解决,但是...)
lan=eth0
awk -F";" '{print $3 " " $2}' infile | xargs -I {} echo {} | sed -e 's/^/arp -i $lan -s /' | sed -e '1i#!/bin/bash\' > outfile
现在的问题是变量 $lan
#!/bin/bash
arp -i $lan -s 192.168.1.1 00:e0:1e:b4:12:42
arp -i $lan -s 192.168.1.2 00:e0:1e:b4:13:43
代替
#!/bin/bash
arp -i eth0 -s 192.168.1.1 00:e0:1e:b4:12:42
arp -i eth0 -s 192.168.1.2 00:e0:1e:b4:13:43