如何在同一行发送文本和“printenv”?

19 浏览
0 Comments

如何在同一行发送文本和“printenv”?

我有以下代码:

for x in "${array[@]}"
do
  echo "$x"
done

结果类似于这样(在某些情况下,我会对其进行排序):

1
2
3
4
5

有没有办法将其打印为1 2 3 4 5?而不是每次都添加一个新行?

0
0 Comments

问题的原因是在同一行中同时发送文本和运行"printenv"命令。解决方法是使用管道符号将两个命令连接起来,使得"printenv"命令的输出能够作为文本的一部分被发送出去。

具体的解决方法如下:

printf '%s\n' "${array[@]}" | sort | tr '\n' ' ' | printenv

0