我在终端中定义了一个 shell 变量,然后使用 echo 命令输出带有该变量的字符串,并且它在终端中运行良好。
但是当我在 shell 脚本中使用相同的命令时,变量消失,没有任何输出或错误。
所以,这是怎么回事。
$ NVM_USER=xgqfrms
$ echo $NVM_USER
xgqfrms
$ echo "string with a variable $NVM_USER"
string with a variable xgqfrms
$ echo string with a variable $NVM_USER
string with a variable xgqfrms
$ echo "string with a variable ${NVM_USER}"
string with a variable xgqfrms
#!/usr/bin/env bash
echo $NVM_USER
echo "string with a variable $NVM_USER"
echo string with a variable $NVM_USER
echo "string with a variable ${NVM_USER}"
我已经搜索并尝试了一些解决方案,但仍然卡住了。
它使用 shell 脚本中定义的变量来工作。
#!/usr/bin/env bash
user=xgqfrms
echo "string with a variable ${user}"
# temp=$(echo $NVM_USER)
echo "string with a variable ${temp}"
您需要
export
变量:
export NVM_USER=foobar
脚本:
#!/usr/bin/env bash
echo "string with a variable $NVM_USER"