BASH:将复杂命令的输出发送到数组

时间:2012-12-27 21:06:04

标签: arrays bash

从OP注意:糟糕。我的错。我碰巧让grep寻找一些不存在的东西。当然我没有输出。是的,这是another question的重复。

<><><><><><><><><><><><&GT ;<><><><><><><><>

网络上有很多答案(大部分)是这个问题。 “大部分”部分是我的问题。

当命令行包含管道字符“|”时,如何将命令行的输出捕获到bash数组中?

 array=($(ps -ef | grep myproc | grep -v grep))

不起作用。也没有:

 array=(`ps -ef | grep myproc | grep -v grep`)

(如果你的字体乱七八糟,那些是反引号。)

并且,给定的答案是否可以与 array + = 语法一起使用?

1 个答案:

答案 0 :(得分:0)

array=($(ps -ef | grep myproc | grep -v grep))

效果很好。您可以在显示数组中的元素数量时进行检查

echo ${#array[*]}

或带

的完整数组
echo ${array[*]}