访问bash脚本中的变量

时间:2009-05-02 22:13:26

标签: bash unix

在bash命令行中,我设置了一个变量myPath = / home / user / dir。我创建了一个脚本,我在其中放置了echo $ myPath,但它似乎没有用。它没有回音。如何在脚本中访问myPath变量。如果我在命令中编写echo $ myPath,它可以工作,但不在脚本中。

4 个答案:

答案 0 :(得分:22)

你是如何分配变量的?应该是:

$ export myPath="/home/user/dir"

然后在shell程序中,如:

#!/usr/bin/env bash
echo $myPath

你会得到理想的结果。

答案 1 :(得分:9)

尝试

export myPath=/home/user/dir

答案 2 :(得分:6)

您也可以这样设置myPath变量仅用于myscript

myPath="whatever" ./myscript

有关环境变量的公认棘手语法的详细信息,请参阅: http://www.pixelbeat.org/docs/env.html

答案 3 :(得分:2)

您必须使用“export”声明您的变量赋值:

export myPath="/home/user/dir"

这将导致shell将变量包含在它启动的子进程的环境中。 默认情况下,您声明的变量(没有“export”)不会传递给子流程。这就是为什么你最初没有得到你期望的结果。