通过双 qoute/single 报价发送价值?

Send value through double qoute/single qoute?

所以我有一个通过 telnet 向设备发送命令的 ash 脚本
命令如下所示。

echo 'dofile("lcdprint.lua").lcdprint("date")' | telnet 192.168.1.23 23 

我想要这样的输出日期

Tue Jul 12 17:10:51 WIB 2016

但不是上面的输出,代码 运行 与此结果出乎意料

date

如何发送正确的命令?输出应包含日期值,而不是 'date' 字符串。
谢谢 :)

如果你想合并本地执行date实用程序的输出,在将命令字符串发送到目标机器之前,使用$(...), Bash 的 command substitution:

echo "dofile('lcdprint.lua').lcdprint('$(date)')" | telnet 192.168.1.23 23

请注意整个字符串是如何 双引号 以确保扩展 $(...)

如果你想运行 date 在目标机器上,使用Lua的os.execute()到运行一个shell命令:

echo 'dofile("lcdprint.lua").lcdprint(os.execute("date"))' | telnet 192.168.1.23 23

请注意整个字符串是如何 单引号 ,因为在这种情况下不需要 Bash 的解释,并且使用单引号确保该字符串按原样传递。