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

时间:2016-01-23 20:07:02

标签: bash unix zsh

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

例如,当我写(没有任何参数)时

$Projects

它应该运行以下命令

$cd ~/Abdelrahamn/Projects

但如果我写这样的论点

$Projects Proj1

它应该运行以下命令

$cd ~/Abdelrahamn/Projects/Proj1

3 个答案:

答案 0 :(得分:2)

你的脚本应该是这样的:

cd ~/Abdelrahamn/Projects/$1

如果~/.profile~/.bashrc内的某个功能被接受,这将很简单:

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

答案 1 :(得分:1)

您需要编写一个函数来完成此操作并将其放在.bash_profile或.bashrc中。 Shell脚本在子shell中执行,一旦脚本退出子shell退出,就会离开交互式shell。

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

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

答案 2 :(得分:0)

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

hash -d project=~/Abdelrahamn/Projects

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

cd ~project
cd ~project/foo

会转换为:

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