Bash脚本;如何使用命令后定义的vars和funcs

时间:2016-05-19 23:08:02

标签: linux bash function variables

如何使用命令后定义的变量或函数。

可变

#!/bin/bash

echo Hello "$who"
who="World"

功能

#!/bin/bash

function_name

function_name() {
echo Hello World
}

我还听说有一个命令在执行任何命令之前读取整个bash脚本,这对我的情况有效。但如果有更精确的方法,那就太好了。

更深入

#!/bin/bash

h=Hello

echo $h "$who"

var1=World

who=$(cat <<HEREDOC
You
Me
$var1
HEREDOC
)

1 个答案:

答案 0 :(得分:2)

在使用之前,必须始终定义变量和函数。这是因为函数定义实际上是在当前上下文中分配名称的命令,而不是像C中那样只提供名称的实现。

您可以使用控制流来确保定义在代码之前执行,而不管它们在文件中的相对布局如何:

main() {
  echo "Hello $var"
}

var="world"
main