sh 拥有workon脚本/命令。自动完成给定目录中的所有目录或virtualenv名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 拥有workon脚本/命令。自动完成给定目录中的所有目录或virtualenv名称相关的知识,希望对你有一定的参考价值。

#add following code to /etc/bash_completion.d/workon (ADAPT YOUR VIRTUALENV DIRECTORY)
_codeComplete()
{
    local cur=${COMP_WORDS[COMP_CWORD]}
    COMPREPLY=( $(compgen -W "$(ls --color=never /home/slavi/virtualenvs/)" -- $cur) )
}

complete -F _codeComplete workon

# add following code to your .bashrc or .bash_aliases
workon(){

DIR="/home/slavi/virtualenvs/"
if [ "$1" = "" ];then
     echo "workon <virtualenv to activate> or choose virtualenv from list:" ;
     declare -a virtlist=(`ls --color=never $DIR`)
     c=${#virtlist[@]}
     for (( i=0; i<=$c; i++ )); do
         echo -e "$i ${virtlist[$i]\n}"
     done
read this
VIRT="${virtlist[$this]}"
echo $VIRT
source "/home/slavi/virtualenvs/$VIRT/bin/activate"
cd "/home/slavi/virtualenvs/$VIRT"
return
fi
source "/home/slavi/virtualenvs/$1/bin/activate"
cd "/home/slavi/virtualenvs/$1"

}

以上是关于sh 拥有workon脚本/命令。自动完成给定目录中的所有目录或virtualenv名称的主要内容,如果未能解决你的问题,请参考以下文章

如何执行shell脚本其中一条命令

linux 通过scp命令自动将文件夹下的每日更新数据传送到远程windows目录下。求脚本

linux shell脚本执行命令详解

linux自动部署--sh脚本安装jdk,tomcat,mysqlclient

linux自动部署--sh脚本安装jdk,tomcat,mysqlclient

shellclash清理配置文件