socat 的 shell 命令包装器

socat 的 shell 命令包装器

我已经使用了命令

socat - foo

我输入的文本会直接发送到地址 foo。是否有一些标准输入的通用包装器(沿着!ed 的行)可以让人们解析 shell 命令,然后将命令的输出发送到 foo ?

答案1

好吧,你可以这样做:

ls | socat - foo

或者:

ls | socat -u - foo

foo如果您不期望从.返回任何内容。

或者通过socat产卵ls

socat exec:ls foo

如果你的意思是你想在运行时运行一个命令

socat - foo

在终端中并将输出发送到 foo ,然后在 GNU 中screen,您可以使用:Ctrl+A:exec .!. ls它将运行ls并使screen输出ls作为输入,就像在键盘上键入一样。

或者你可以这样做(使用 GNU sed):

sed 's/^!//e' | socat - foo

!任何以, like开头的输入!echo test都将被替换为 后命令的输出!

答案2

是否有一些标准输入的通用包装器...可以让人们解析 shell 命令,然后将命令的输出发送到 foo ?

或许这会对你有所启发:

$ echo pwd | sh
/
$ echo pwd | sh | wc
1       1       2

sh 是一个过滤器。它可以读取标准输入上的命令,运行它们,并在标准输出上发出它们的输出。

相关内容