不能用echo命令打印斜杠(/)。

问题描述 投票:0回答:1

我有一个参数文件(param.env),内容如下。

MY_PARAM=com:27}WMV\)pviZN

另外,还有一个bash文件,在这个文件中,我获取了MY_PARAM的值,并将其写入一个随机文件。

#!/bin/bash


value=$(grep "^MY_PARAM=" param.env | cut -d '=' -f2-)

value1=$(cat param.env | grep "^MY_PARAM" | sed 's/=/ /' | awk '{print $2}')
echo $value

echo $value1

printf '%s\n' "$value"

输出。

com:27}WMV\)pviZN
com:27}WMV\)pviZN
com:27}WMV\)pviZN

然而,我期望的是 \ 我也不允许编辑param.env。

预期的输出。

com:27}WMV)pviZN
linux bash awk echo cut
1个回答
2
投票

你可以把文件的源文件,然后这个字符串就会像你在交互式shell中这样分配一样。

$ (. param.env; echo "$MY_PARAM")
com:27}WMV)pviZN

我把这些命令放在一个子shell里 所以它们不会污染环境.

© www.soinside.com 2019 - 2024. All rights reserved.