1

次の 2 つの関数が my に定義されています.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と、アップがわからないようです_foo。ここで何か間違ったことをしていますか、それとも不可能ですか?

4

2 に答える 2

1

"know"_fooはしますが、 にパラメーターを渡さない_fooため、おそらく混乱を引き起こしています。

于 2012-05-04T09:15:38.670 に答える
1

Bash スクリプトは順次実行されます。あなたの場合、_foo()前に定義することができup()、すべてがうまくいくはずです。

于 2012-05-04T11:20:05.887 に答える