加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 使用别名覆盖内置命令

发布时间:2020-12-15 22:10:26 所属栏目:安全 来源:网络整理
导读:我试图创建一个覆盖cd命令的别名.这将在“真正的”cd之前和之后执行一个脚本. 这是我到目前为止: 别名cd =“echo before; cd $1; echo after” 这将执行之前的echo和echo after命令,但它总是更改目录? 我该如何解决这个问题? 我也试过cd(){echo before; cd
我试图创建一个覆盖cd命令的别名.这将在“真正的”cd之前和之后执行一个脚本.

这是我到目前为止:

别名cd =“echo before; cd $1; echo after”

这将执行之前的echo和echo after命令,但它总是更改目录?

我该如何解决这个问题?

我也试过cd(){echo before; cd $1;回声;然而,它在之前“重复”了回声.

解决方法

I also tried cd(){ echo before; cd $1; echo after; } however it repetedly echos “before”.

因为它递归调用你定义的cd.要修复,请使用内置关键字,如:

cd(){ pwd; builtin cd "$@"; pwd; }

Ps:无论如何,恕我直言不是重新定义shell内置的最好的主意.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读