在我的Shell脚本中,我有这一行
RUN_CMD="$JAVA_HOME/bin/java -cp $CLASSPATH com/mypack/BalanceRunner
有人请告诉我,这个命令是什么意思RUN_CMD 我在哪里可以看到这个RUN_CMD定义
感谢您阅读
答案 0 :(得分:3)
这是定义一个环境变量RUN_CMD
(看起来像最后省略的引用)。它是运行该Java命令的简写(它定义了在哪里查找某些类,然后指定要运行的类 - BalanceRunner
)
变量在当前进程的范围内(最有可能是shell或shell脚本)。你可以通过以下方式看到它的设置:
echo $RUN_CMD
(注意:细节是依赖于shell的,但对于Bourne shell衍生产品,上述情况确实如此)
答案 1 :(得分:1)
您引用的行是作业。
正如Brian所说,这只是当前流程的范围。
当您运行脚本(比如./<script>
或bash <script>
)时,会创建一个 new shell,其中执行脚本。因此,一旦脚本完成并且您返回到提示符,脚本中分配的所有变量都将是未定义的。
当然,如果您在当前shell中执行脚本,例如执行. <script>
或source <script>
(请参阅shell的手册以获取更多详细信息),这是个例外。
您可以在提示中进行试验:
$ FOO=bar
$ if [ $FOO ]; then echo "FOO defined"; else echo "FOO undefined"; fi
FOO defined
$ echo $FOO
bar
$ unset FOO
$if [ $FOO ]; then echo "FOO defined"; else echo "FOO undefined"; fi
FOO undefined
$ echo $FOO
$ echo 'FOO=bar' > temp
$ . temp
$ echo $FOO
bar
$ unset FOO
$ bash temp
$ echo $FOO
$
至于脚本中变量的实际内容和目的,我认为Brian和其他人很好地回答了这个问题。
答案 2 :(得分:0)
您可以设置环境变量的值。关于你问题的标题:
echo $ENV_VAR_NAME
会将已定义环境变量的值打印到控制台