加载中...

CentOS7 通过shell 脚本切换目录


环境

Linux CentOS7

问题

每次切换所处的目录时,总是要输入很多字符,非常繁琐,希望通过脚本之类的方式快速切换到指定目录。

方案

失败方案

思路:希望通过 shell 脚本实现,代码如下:

#! /bin/bash
sudo cd ~/XXX/YYY

结果:实践发现这样无法解决,为脚本添加可执行权限并执行脚本后发现,当前所处的目录没有任何变化。

原因:在 shell 脚本中,不能直接更改用户所处的文件夹,因为 shell 脚本是在子进程中运行的,该子进程无法影响父进程(即启动该脚本的 shell 环境)的状态。在 shell 脚本中更改所处的文件夹只对该脚本程序有效,对于启动该脚本程序的 shell 环境并没有影响。

  • 例如,如果在 脚本的 cd 命令后添加 mkdir CCC 命令,会发现在 ~/XXX/YYY 目录下出现了 CCC 文件夹。

成功方案

~/.bashrc 中定义一个名为 cduser 的函数,代码如下:

function cduser() {
  cd ~/XXX/YYY
}

执行 source ~/.bashrc 命令,之后直接输入 cduser 就可以跳转到 ~/XXX/YYY 目录下。


文章作者: 心意
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 心意 !
评论
  目录