linux - shell脚本不打印值

标签 linux bash shell

我是尝试运行以下脚本的 shell 编程新手。在下面的示例中,我无法打印分配给 hadoop_home 变量的值。请帮助我理解我的错误。

#!/bin/sh
echo "Holaaaa"
hadoop_home= echo "$HADOOP_HOME"
java_home= echo "$JAVA_HOME"
echo "Printing variable values"
echo "${hadoop_home}"
echo "${java_home}"

在执行上面的 shell 时,它会打印

Holaaaa
/usr/hdp/2.6.0.1-152/hadoop/
/usr/lib/jvm/java-1.7.0-openjdk-amd64/jre/
Printing variable values

hadoop_home和java_home中的变量值为空。为什么它是空的,我怎样才能得到分配给这些变量的值?

最佳答案

分配的 = 两边不能有空格。要捕获命令的输出,请使用 $(cmd)

hadoop_home=$(echo "$HADOOP_HOME")

这可以简化为:

hadoop_home=$HADOOP_HOME

关于linux - shell脚本不打印值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49885804/

相关文章:

bash - 按深度排序文件 (bash)

python - 从 python 程序捕获 shell 调用

django - 无法在 Django 中执行 runserver : "TypeError: putenv() argument 2 must be string, not None"

python - archlinux/manjaro 中的 OpenCV

linux - 如何在 Bash 中进行内存中的二进制搜索?

bash - bash中的while循环只执行一次

regex - Gnu sed 删除单引号

bash - 如何在 Linux Bash/Shell 中将字符串拆分为组件部分

shell - Excel VBA : Running a shell script to both change directory and then run a custom script

linux - 加载不受信任的配置变量