如何在shell脚本中使用echo命令打印带有变量的字符串

问题描述 投票:0回答:1

我在终端中定义了一个 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

enter image description here

shell脚本

#!/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}"

enter image description here

我已经搜索并尝试了一些解决方案,但仍然卡住了。

更新

它使用 shell 脚本中定义的变量来工作。

#!/usr/bin/env bash

user=xgqfrms
echo "string with a variable ${user}"

# temp=$(echo $NVM_USER)
echo "string with a variable ${temp}"

linux bash shell environment-variables echo
1个回答
0
投票

您需要

export
变量:

export NVM_USER=foobar

脚本:

#!/usr/bin/env bash

echo "string with a variable $NVM_USER"
© www.soinside.com 2019 - 2024. All rights reserved.