Linux 关于bash中的函数

Linux 关于bash中的函数,linux,bash,ubuntu,ubuntu-14.04,Linux,Bash,Ubuntu,Ubuntu 14.04,对于如何在bash中使用函数,我有一个普遍的疑问,让我解释一下,我有一个名为testscript.sh的脚本,它包含以下内容: #!/bin/bash export var="some text" function clock { # some arguments echo "the variable var is [$var]" } $@ 因此,当我以下一种方式运行脚本时: “var”的值是空的,除非我把它放在函数的内部,所以这里的问题是:有没有任何方法可以调用我正

对于如何在bash中使用函数,我有一个普遍的疑问,让我解释一下,我有一个名为testscript.sh的脚本,它包含以下内容:

#!/bin/bash

   export var="some text"

function clock {
   # some arguments
   echo "the variable var is [$var]"
}

$@
因此,当我以下一种方式运行脚本时:

“var”的值是空的,除非我把它放在函数的内部,所以这里的问题是:有没有任何方法可以调用我正在尝试的单个函数,并且我可以在函数内部调用它们之外的所有变量


谢谢

根据下面的发言稿,我不同意你的看法:

pax> cat testscript.sh
#!/bin/bash

   export var="some text"

function clock {
   # some arguments
   echo "the variable var is [$var]"
}

$@

pax> ./testscript.sh clock
the variable var is [some text]

正如您在这里看到的,变量在很大程度上被设置为期望值。因此,如果它是空白的,那么您就有一个与您向我们展示的代码无关的问题。

根据以下记录,我不同意您的看法:

pax> cat testscript.sh
#!/bin/bash

   export var="some text"

function clock {
   # some arguments
   echo "the variable var is [$var]"
}

$@

pax> ./testscript.sh clock
the variable var is [some text]

正如您在这里看到的,变量在很大程度上被设置为期望值。因此,如果它是空的,您就有一个与您向我们展示的代码无关的问题。

set-x
添加到脚本顶部,然后再次运行它并粘贴输出。谢谢,我的问题是我从另一个脚本调用了脚本,因此变量不会出现:)这不是原因。这不会改变任何东西。将
set-x
添加到脚本顶部,然后再次运行并粘贴输出。谢谢,我的问题是我从另一个脚本调用了脚本,因此变量不会出现:)这不是原因。这不会改变任何事情。