質問

私はLinuxオペレーティングシステムの初心者です私は次のことをする必要があります: -

「〜/myprojects」の下に複数のプロジェクトがあります

like like> ls〜/myprojects project1 project2i newproject project_possible ....

私のプロジェクトはすべて、以下のように見えます。

ls〜/myprojects/

SRC lib inc common test_scripts

(これらはすべて、いくつかのファイルが含まれているディレクトリです

current()をナビゲートするには、bashrcファイルでこのようなことをしたいです。

curr_project = "$ 1"エイリアスpsrc = 'cd〜/myprojects/curr_project/src/' alias plib = 'cd〜/myprojects/curr_project/lib/'

前もって感謝します

役に立ちましたか?

解決

環境変数を使用して現在のプロジェクトを指定し、エイリアスの変数を使用できます。

current() {
    export CURR_PROJECT=$1
}

alias psrc='cd ~/myprojects/$CURR_PROJECT/src/'
alias plib='cd ~/myprojects/$CURR_PROJECT/lib/'

最初に設定します CURR_PROJECT 使用して

$ current project1

次に、ディレクトリを変更するためにエイリアスを呼び出します。

$ psrc

それが役立つことを願っています。

他のヒント

私は自分の職場環境に似たようなものを使用しています - 一般的なディレクトリ構造を持つ多くのプロジェクト。また、セレクターを使用して、名前を入力せずにプロジェクトをすばやく選択できるようにします。あなたはそれが便利だと思うかもしれません。

例えば

current()
{
    export PROJECT_ROOT=~/myprojects

    # If you pass a project name, use it, otherwise print a list
    # for the user to select
    if [ -n "$1" ]; then
        export CURRENT_PROJECT=$1
    else
        # Find subdirectories in PROJECT_ROOT
        SUBDIRS=`find $PROJECT_ROOT -mindepth 1 -maxdepth 1 -type d -printf "%f "`
        if [ -n "$SUBDIRS" ]; then
           PS3="Select project: "
           select d in $SUBDIRS; do
               if [[ -n $d ]]; then
                   export CURRENT_PROJECT=$d
                   break
               else
                   echo "Bad choice"
                   return
               fi
           done
        else
          echo "No projects found"
          return
        fi
    fi

    # Now we have the CURRENT_PROJECT name, set up the aliases
    alias psrc='cd $PROJECT_ROOT/$CURRENT_PROJECT/src/'
    alias plib='cd $PROJECT_ROOT/$CURRENT_PROJECT/lib/'
}

次に、「現在」と入力すると、選択肢が表示されます。

~$ current
1) proj1
2) proj2
3) proj3
Select project: 

これは私にとって本当の時間節約です - 多分それもあなたのためです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top