Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 手动将字符串列表传递给管道_Bash - Fatal编程技术网

Bash 手动将字符串列表传递给管道

Bash 手动将字符串列表传递给管道,bash,Bash,如果一个命令返回一个字符串列表,我可以通过管道将其传递给另一个命令 例如: command1 | command2 假设command1返回两行。在没有生成命令行的情况下,是否有方法在命令行上执行相同的操作 我知道下面这句话不管用,但也许能更好地解释我的意思: ("string 1", "string 2) | command2 我想手动指定两条要发送到管道中的线,而不是使用命令生成它们 这可能吗?您可以使用echo命令: { echo "string 1"; echo "string 2"

如果一个命令返回一个字符串列表,我可以通过管道将其传递给另一个命令

例如:

command1 | command2
假设
command1
返回两行。在没有生成命令行的情况下,是否有方法在命令行上执行相同的操作

我知道下面这句话不管用,但也许能更好地解释我的意思:

("string 1", "string 2) | command2
我想手动指定两条要发送到管道中的线,而不是使用命令生成它们


这可能吗?

您可以使用
echo
命令:

{ echo "string 1"; echo "string 2"; } | command2
printf
使用一个命令执行此操作:

printf 'string 1\nstring 2\n' | command2
但是如果有很多行,那么这里的文档通常更容易:

command2 <<EOF
string 1
string 2
EOF

command2你想过使用
echo
吗?我尝试使用echo和
\n
来分隔字符串,但它只是在meDid上回显了
\n
你想过使用两个echo命令吗?也可以使用printf,比如
printf“%s\n”string 1“string 2”
,因为printf将“循环”直到格式字符串使用了所有参数。