【发布时间】:2017-06-16 11:55:30
【问题描述】:
我有一个如下编写的 Bash 脚本:
#!/bin/bash
PINGGOOGLE=echo "<H1>Ping Status</H1>";echo "<table border=\"1\">"; ping -c 3 -w 3 -q 192.168.16.129 | sed '/ping statistics/,$!d';echo "</table>"
echo '<html>' >> pinghost.txt
echo '<body>' >> pinghost.txt
ssh root@192.168.16.130 "${PINGGOOGLE}" >> pinghost.txt
echo '</body>' >> pinghost.txt
echo '</html>' >> pinghost.txt
但脚本显示错误。
如果我在 CLI 中执行输出工作正常。当我存储在一个变量中并通过 SSH 在远程机器上使用它时,就会出现问题。
echo "<H1>Ping Status</H1>";echo "<table border=\"1\">"; ping -c 3 -w 3 -q 192.168.16.129 | sed '/ping statistics/,$!d';echo "</table>"
【问题讨论】:
-
在脚本中使用时应该得到如下输出。
来自 MS1 服务器的 Codenvy Ping 状态
--- 192.168.16.129 ping 统计信息 --- 3 个数据包传输,3 个数据包接收,0% 数据包丢失,时间 2001ms rtt min/avg /max/mdev = 0.429/0.527/0.671/0.105 毫秒
-
PINGGOOGLE=echo "<H1>Ping Status</H1>"将(尝试)执行一个名为<H1>Ping Status</H1>的命令。你想达到什么目的? -
我想将输出存储在文本文件中,正如我在评论中所说的那样
-
@hruday 你必须比这更具体。您是否尝试将整行分配给
$PINGGOOGLE?如果是这样,您将需要引用它。但是为什么你想这样做呢?它只用在一个地方,将命令存储在字符串中是generally a bad idea。 -
无论如何我现在要求在 html 表中显示输出我应该如何引用它以便我可以在脚本中使用它?