bash – 返回/退出函数前的popd
发布时间:2020-12-15 21:19:17 所属栏目:安全 来源:网络整理
导读:在bash中,返回/退出函数之前弹出的正确方法是什么?例如, function fn () { pushd ~ /dev/null if [ $1 = $2 ]; then return 0; elif [ $2 = $3 ]; then return 1; else return 2; fi popd /dev/null} 我应该在每次回归前写popd吗?或者,我应该采取另一种方
在bash中,返回/退出函数之前弹出的正确方法是什么?例如,
function fn () { pushd ~ >/dev/null if [ $1 = $2 ]; then return 0; elif [ $2 = $3 ]; then return 1; else return 2; fi popd >/dev/null } 我应该在每次回归前写popd吗?或者,我应该采取另一种方式吗? 解决方法
为此,我可能会这样做:
fn() { pushd ~ >/dev/null if [ "$1" = "$2" ]; then ret=0 elif [ "$2" = "$3" ]; then ret=1 else ret=2 fi popd >/dev/null return $ret } 这样我就不必在每次返回之前重复“清理”代码. 另一种方法是在子shell中完成工作并将cd放到所需的目录中,尽管子shell无法修改父级的环境(毕竟这是我们想要的一部分). fn() ( cd ~ if [ "$1" = "$2" ]; then return 0 elif [ "$2" = "$3" ]; then return 1 else return 2 fi ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读