Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从bash/shell脚本中的java属性文件中提取值,并将其存储在变量和该变量的cd中_Shell_Properties_Grep_Cd - Fatal编程技术网

如何从bash/shell脚本中的java属性文件中提取值,并将其存储在变量和该变量的cd中

如何从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|

我有一个config.properties文件,其中包含类似于
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