Bash 无法赋值

Bash unable to assign value

有点问题。我是 bash 的新手,我正在尽我最大的努力,但我不知道如何将所需的输出分配给变量。 运行提示中的这条命令

wc -l data.txt | awk '{ print  }'

产生结果 12,这是我们想要的。但是,如果我将它放在 test.sh 文件中,它将不起作用。我尝试了不同的引语,但我所得到的只是整行作为一个字符串...

Test.sh

#! /bin/bash

# Count lines for data.txt files
data1=wc -l data.txt | awk '{ print  }'

echo "Lines in data.txt: $data1"

exit

我想你想要:

data1="$(wc -l data.txt | awk '{ print  }')"

$() 语法导致 bash 执行该表达式并将其替换为结果。

实际上,powershell 允许您像以前那样直接 = 赋值...