我在.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
。我在这里做错了什么,或者这是不可能的?
答案 0 :(得分:1)
确实“知道”_foo
,但你没有将参数传递给_foo
,所以可能会引起混淆。
答案 1 :(得分:1)
Bash脚本按顺序执行。在您的情况下,_foo()
可以在up()
之前定义,一切都应该正常。