如何为zsh创建与路径无关的别名?

时间:2013-08-11 07:47:33

标签: alias zsh

我正在使用hsenv。要激活它,我需要这样做:

cd ~/projects/foo
hsenv
source .hsenv_foo/bin/activate

我正在寻找一种用别名替换第三个命令的方法。问题是activate脚本路径中存在路径相关组件。

如何将foo中的.hsenv_foo替换为我目前所在的实际目录名称?

1 个答案:

答案 0 :(得分:2)

我不确定如何在别名中执行此操作,但您可以将其包装在函数中:

function my-hsenv { 
    # If we want the full path
     # foo=`pwd`;
    # If we want only the name of the current dir
    foo=$(basename $(pwd))
    source .hsenv_${foo}/bin/activate
}

然后运行my-hsenv

$ my-hsenv
my-hsenv:source:5: no such file or directory: .hsenv_tmp/bin/activate

但是你明白了。