bashrcファイルに変数を追加/使用する方法は?
-
29-09-2019 - |
質問
私は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:
これは私にとって本当の時間節約です - 多分それもあなたのためです。
所属していません StackOverflow