首页 > 解决方案 > 回显 grep 结果

问题描述

我有一个文件

dogs:${breed}

我想 grep 并获取 ${dog} 并获取值,我已将值导出为

export breed='german'

我所做的是

eval "$(grep -iw dogs file_name | awk 'BEGIN {FS=":"} {print $2}')"

这实际上会导致错误,因为它将德语作为命令。我想要输出如下。

german

标签: linuxbashshell

解决方案


您可以使用envsubst替换文字文本中的 shell 样式变量:

echo 'dogs:${breed}' > file_name
export breed=german
grep -iw dogs file_name | awk 'BEGIN {FS=":"} {print $2}' | envsubst

这输出german


推荐阅读