如何使用我的自定义 bash 脚本打开特定文件夹

How to open specific folder using my custom bash script

我需要如何编写 Bash 脚本(不是别名)来导航到我的项目文件夹。

例如,当我写的时候(不带任何参数)

$Projects

它应该运行下面的命令

$cd ~/Abdelrahamn/Projects

但是如果我写这样的论点

$Projects Proj1

它应该运行下面的命令

$cd ~/Abdelrahamn/Projects/Proj1

您需要编写一个函数来完成此操作并将其放入您的 .bash_profile 或 .bashrc 中。 Shell 脚本在 subshell 中执行,一旦脚本退出,subshell 退出,让您进入交互式 shell。

Project () {
    project_path="/home/user/path/to/projects/"

    if [ $# -eq 1]; then
        cd "$project_path"
    else
        cd "$project_path"
    fi
}

你的脚本应该是这样的:

cd ~/Abdelrahamn/Projects/

如果 ~/.profile~/.bashrc 中的函数被接受,这将很简单:

Project() { cd ~/Abdelrahamn/Projects/; }

根据您的需要,散列可能是一个不错的选择。整个脚本似乎有点矫枉过正。在你的 ~/.zshrc.local (或更早的任何脚本中调用它),添加:

hash -d project=~/Abdelrahamn/Projects

然后您可以像通常那样使用 cd,但要在开头加上 nameddir/hash。例如:

cd ~project
cd ~project/foo

将转换为:

cd ~/Abdelrahamn/Projects
cd ~/Abdelrahamn/Projects/foo