具有检查目录的Linux别名

时间:2016-05-27 10:27:39

标签: linux bash

我如何做别名,检查我是否在目录" python27"什么时候不会去那个目录,运行一些脚本然后回到主目录?当我在" python27"目录它应该只运行脚本并返回主目录。我的意思是这样的:

alias p="if [ pwd != /home/myname ] then cd python27 && python $1 && cd ~ else python $1 && cd ~ fi"

1 个答案:

答案 0 :(得分:1)

请勿使用别名,而是使用函数。

您无需检查自己是否在python27目录中,只需cd,运行脚本,然后cd回家。

这样的事情,只需要很少的检查:

p() {
    if [[ -z $1 ]]; then
        echo >&2 "need an argument"
        return 1
    fi
    if ! cd /full/path/to/python27; then
        echo >&2 "can't cd to python27"
        return 1
    fi
    python "$1"
    cd ~
}

如果您需要传递更多参数(例如,选项),也可以使用python "$@"代替python "$1"