首先,我绝对是bash的初学者,而Ive遇到了一个困扰了一段时间的问题,所以现在我想请教。
简单的问题是,我想对字符串中的行进行计数,并将结果存储在变量中。我已经设法计算了字符串中的行数,但是当我尝试存储结果时,出现“找不到命令错误”。让我举个例子:
function lines() {
echo "$1"
echo "$1" | wc -l
rows=$("$1" | wc -l)
echo $rows
}
我得到以下输出:
2 5 -9 -1
7 -8 5 0
2
matrix: line 20: 2 5 -9 -1
7 -8 5 0: command not found
0
第一两行是$ 1变量,第三行是echo“ $ 1”的输出| wc -l,然后出现rows = $(“ $ 1” | wc -l)中的错误。
请记住,我已经尝试了多种存储结果的方法,因为我可以看到Bash试图将$ 1解释为命令。
希望您能提供帮助。
我认为问题可能是我不太了解流水线的工作原理。