为什么我提供这些命令行:
ip rule add from 10.222.192.0/25 table pdl
ip route add 10.104.44.0/24 via 10.222.193.17 table pdl
一切正常,
如果我执行这个脚本:
#!/bin/sh
IPRULEADD=$(/sbin/ip rule add)
IPROUTEADD=$(/sbin/ip route add)
#
#
#----------- pdl ---------------------------
echo 100 pdl >> /etc/iproute2/rt_tables
$IPRULEADD from 10.222.192.0/25 table pdl
$IPROUTEADD 10.104.44.0/24 via 10.222.193.17 table pdl
我收到此错误:
from: can't read /var/mail/10.222.192.0/25
由于
答案 0 :(得分:0)
不要使用子shell来存储变量中的字符串。
dt[melt(dt[, n := seq_len(.N)], id.var = c("n", "PASTE"))[,
toString(variable[value]), n], on = "n"]
答案 1 :(得分:0)
$(...)
不会存储以后执行的代码;它生成所附代码的结果。
你想要shell函数。
ip_rule_add () {
/sbin/ip rule add "$@"
}
ip_route_add () {
/sbin/ip route add "$@"
}
ip_rule_add from 10.222.192.0/25 table pdl
ip_route_add 10.104.44.0/24 via 10.222.193.17 table pdl
您传递给函数的任何参数都会使用/sbin/ip
表示法正确添加到"$@"
的参数列表中。