问题描述
有点问题。我是 bash 新手,我正在尽最大努力,但我不知道如何将所需的输出分配给变量。在提示符下运行此命令
wc -l data.txt | awk '{ print $1 }'
产生所需的结果 12。但是,如果我将它放在 test.sh 文件中,它将无法正常工作。我尝试了不同的引用,但我设法得到的只是整行作为一个字符串......
Test.sh
#! /bin/bash
# Count lines for data.txt files
data1=wc -l data.txt | awk '{ print $1 }'
echo "Lines in data.txt: $data1"
exit
解决方法
我想你想要:
data1="$(wc -l data.txt | awk '{ print $1 }')"
$()
语法使 bash 执行该表达式并将其替换为结果。
实际上,powershell 确实允许您像以前一样直接执行 =
赋值...