dos下将命令的执行结果赋给变量

在使用spark时,需要在spark-env.cmd中,为环境变量SPARK_DIST_CLASSPATH赋值,赋的值是执行命令“hadoop classpath”的返回结果。

如果是在linux环境下,比较简单,直接

export SPARK_DIST_CLASSPATH=`hadoop classpath `

就可以了。

在dos环境下,需要变通一下,用for语句把执行结果赋给环境变量:

FOR /F %%i IN ('hadoop classpath') DO @set SPARK_DIST_CLASSPATH=%%i

实验环境是win10。注意,for语句用在批处理命令中时,需要连用两个%。

也可以用反引号来把需要执行的命令引起来,这时候,需要加参数usebackq:

FOR /F "usebackq" %%i IN (`hadoop classpath`) DO @set SPARK_DIST_CLASSPATH=%%i

版权声明:本文为logsharp原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。