通过双 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 的解释,并且使用单引号确保该字符串按原样传递。
所以我有一个通过 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 的解释,并且使用单引号确保该字符串按原样传递。