bash - 将复杂的命令结果分配给变量

标签 bash shell sed

我有一个相当简单的 bash shell 脚本问题。

我想sed 一段文本,然后将sed 的结果赋给一个变量。

#!/bin/bash
MOD_DATE=echo $(date) | sed 's/\ /_/g'
echo $MOD_DATE // should show date with spaces replaced with underscores.

上面的方法我都试过了,还是不行。谁能指出我做错了什么?

最佳答案

要将标准输出中的输出收集到变量中,请使用 command substitution :

MOD_DATE=`echo $(date) | sed 's/\ /_/g'`
#        ^                             ^

MOD_DATE=$(echo $(date) | sed 's/\ /_/g')
#        ^^                             ^

关于bash - 将复杂的命令结果分配给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2895170/

相关文章:

Bash Shell 脚本::实时发送 STD-OUT?

bash - 在 bash 中读取文件时保留前导空格

c - 自定义 C Shell 中的段错误

regex - 在文本字符串中搜索模式,然后提取匹配的模式

linux - 根据第一列的开头合并 txt 中的几行

bash - 查找 ffmpeg 安装版本

linux - 如何找到行和单词的总和

linux - Bash 或 Awk 脚本合并 X 个字段匹配的行,同时在不匹配的字段中创建范围

shell - 如何使用 Neo4j 3.1.4 执行 .cypher 文件(不通过 .zip 文件)

c - C 中的 Shell 命令(使用 Execvp 时出错)