带有检查目录的 Linux 别名

  • 本文关键字:Linux 别名 linux bash
  • 更新时间 :
  • 英文 :


我该如何做别名,检查我是否在目录"python27"中,当不在时,它将转到该目录,运行一些脚本并返回主目录?当我在"python27"目录中时,它应该只运行脚本并返回主目录。我的意思是这样的:

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

不要使用别名,而应使用函数。

您无需检查自己是否在 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",以防您需要传递更多参数(例如,选项)。

相关内容

  • 没有找到相关文章

最新更新