.bash_functions:从另一个函数调用一个函数

时间:2012-05-04 08:55:33

标签: bash

我在.bash_functions中定义了以下两个函数(来自.bashrc):

up() {
  if (($# == 0)); then
    cd ..
  else
    for basename; do
      local result=$(_foo)
      echo $result
      cd $result
    done
  fi
}

_foo() {
  echo ${PWD%/$1/*}/$basename
}

虽然我可以执行_foo,但当我执行up时,up似乎不知道_foo。我在这里做错了什么,或者这是不可能的?

2 个答案:

答案 0 :(得分:1)

确实“知道”_foo,但你没有将参数传递给_foo,所以可能会引起混淆。

答案 1 :(得分:1)

Bash脚本按顺序执行。在您的情况下,_foo()可以在up()之前定义,一切都应该正常。