这个命令获取我的 IP 地址:
who am i|cut -d "(" -f2 | cut -d ")" -f1
输出:
10.22.184.126
此命令将 ZPL 命令发送到 10.22.184.126 的端口 5964:
printf '\x5eXA\x7eSD30\x5ePR6\x5ePW544\x5eLL0333\x5eML39,989\x5eJM1280,12\x5eID\x5eJUS\x5eXZ\x5eXA\x5eWD\x5eXZ'|nc 10.22.184.126 5964
但是如果我将 10.22.184.126 替换为 who am i|cut -d "(" -f2 | cut -d ")" -f1 ,如下所示:
printf '\x5eXA\x7eSD30\x5ePR6\x5ePW544\x5eLL0333\x5eML39,989\x5eJM1280,12\x5eID\x5eJUS\x5eXZ\x5eXA\x5eWD\x5eXZ'|nc who am i|cut -d "(" -f2 | cut -d ")" -f1 5964
然后我得到:
nc: port range not valid
cut: 5964: No such file or directory
将其写在一行上的正确语法是什么?
答案1
我认为这应该可以
$(我是谁|cut -d "(" -f2 | cut -d ")" -f1)
printf '\x5eXA\x7eSD30\x5ePR6\x5ePW544\x5eLL0333\x5eML39,989\x5eJM1280,12\x5eID\x5eJUS\x5eXZ\x5eXA\x5eWD\x5eXZ'|nc "$(who am i|cut -d "(" -f2 | cut -d ")" -f1)" 5964