【发布时间】:2014-03-20 17:31:32
【问题描述】:
我正在从 bash 切换到 fish,但是在移植我经常使用的便利功能时遇到了麻烦。这个函数的重点是从我的源代码树的根目录运行make,不管我的shell当前在哪个目录。
在 bash 中,这很简单:
function omake {(
cd $SOURCE_ROOT;
make $@;
)}
由于鱼没有亚壳,所以我能做的最好的事情是:
function omake
pushd
cd $SOURCE_ROOT
make $argv
popd
end
这可行,但需要注意的是,在使用 ^C 中断 fish 版本后,shell 仍在 $SOURCE_ROOT 中,但中断 bash 版本会使我回到原始目录。
有没有办法编写一个与 fish 中的 bash 相同的脚本?
【问题讨论】: