当使用 Net::SSH 在远程连接上运行命令时,它会将以下脚本添加到每个命令的末尾:
DONTEVERUSETHIS=$?; echo #{manager.separator} $DONTEVERUSETHIS; echo\"退出 $DONTEVERUSETHIS\"|sh
产生的输出看起来像:
DONTEVERUSETHIS=$?; echo 10e75e2821012645fa3a3cc08ec5de527a392af68db4c3cac63dac22d4de2a8708fcc176190817fe $DONTEVERUSETHIS; echo "exit $DONTEVERUSETHIS"|sh
这是源代码的链接 Net::SSH::Shell::Process并查看“运行”方法
谁能解释为什么总是添加这个?
它不会出现在控制台输出中,但会在解析 ~/.bash_history 时发挥作用
最佳答案
快速查看源存储库会发现 this commit :
keep the exitcode 1 available for the next command
实际上,这允许您检查 $?
的值(即 上一个 命令的 exitcode) >下一个命令。
关于ruby - Net::SSH::Shell::Process $DONTEVERUSETHIS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26410448/