【问题标题】:Bash unable to assign value [duplicate]Bash无法赋值[重复]
【发布时间】:2021-05-25 03:51:01
【问题描述】:

有点问题。我是 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

【问题讨论】:

    标签: bash variable-assignment command-substitution


    【解决方案1】:

    我想你想要:

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

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

    实际上,powershell 确实允许您像以前一样直接执行= 分配...

    【讨论】:

    • 谢谢!这正是我想要的!我会进一步研究 $() 看看如何使用它!
    • man bash页面上称为“命令替换”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 2017-07-05
    • 2020-08-28
    相关资源
    最近更新 更多