【发布时间】:2018-06-27 12:51:07
【问题描述】:
我有一个正在运行的 SNMP pass 脚本,出于某种我还不明白的原因,在脚本中额外使用 echo 会导致脚本无法执行。我现在的确切问题是我需要从变量REQ 中获取一个子字符串,并将其分配给另一个变量。下面是一种理论上可行的方法,但由于使用echo,在我的情况下不起作用。
DGROUP_NODE=`echo $REQ | cut -d. -f3`
还有其他方法可以做到这一点,而不会破坏正在阅读脚本的任何内容吗?我注意到printf 也有同样的问题,尽管频率较低。 (这个问题也让我无法使用echo 或printf 来调试我的代码...)
注意事项:
当echo 导致执行脚本出现问题时,不会返回任何错误(关于脚本)。我只收到No Such Instance currently exists at this OID,它告诉我脚本没有运行,导致我的 OID 树没有被构建。
如果我在 SNMP 之外运行脚本,它会按预期工作。
【问题讨论】:
-
RET!=REQ,这是什么?而且您几乎总是希望使用echo引用变量使用情况,因此echo "$REQ"可能会解决您的问题。祝你好运。 -
应该是
REQ。我已经尝试添加引号,但问题在于echo本身。该脚本在直接从终端运行时运行良好。