我有一个参数文件(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
你可以把文件的源文件,然后这个字符串就会像你在交互式shell中这样分配一样。
$ (. param.env; echo "$MY_PARAM")
com:27}WMV)pviZN
我把这些命令放在一个子shell里 所以它们不会污染环境.