如何从bash/shell脚本中的java属性文件中提取值,并将其存储在变量和该变量的cd中
我有一个config.properties文件,其中包含类似于如何从bash/shell脚本中的java属性文件中提取值,并将其存储在变量和该变量的cd中,shell,properties,grep,cd,Shell,Properties,Grep,Cd,我有一个config.properties文件,其中包含类似于ouputdir=/data1/testdata/output的路径。我能够在shell中提取这些路径,并将其存储在变量中。当我试图将目录更改为此路径时,我遇到了类似以下错误:没有这样的文件或目录/data1/testdata/output,尽管此路径存在 我尝试的是: configPath=/data1/testdata.config.properties my_value=$(grep outputdir $configPath|
ouputdir=/data1/testdata/output
的路径。我能够在shell中提取这些路径,并将其存储在变量中。当我试图将目录更改为此路径时,我遇到了类似以下错误:没有这样的文件或目录/data1/testdata/output
,尽管此路径存在
我尝试的是:
configPath=/data1/testdata.config.properties
my_value=$(grep outputdir $configPath| awk -F= '{print $2}')
echo $my_value
cd $my_value
这样,我就可以打印我的\u值变量中的路径。但我无法将目录更改为$my\u值。有人能告诉我这里有什么问题,以及我如何将目录更改为该变量。您所拥有的应该是有效的。检查目录是否拼写正确并且确实存在 值得一提的是,您可以将grep和awk命令组合成一个命令:
my_value=$(awk -F= '$1=="outputdir" {print $2}')
属性文件是否有windows CRLF行结尾?您的脚本可能认为目录是带有尾随回车符的
/data1/testdata/output^M
sed -n '/^outputdir=/{s///; s/\r$//; p; q}' properties.file