Comment ajouter / utiliser une variable à mon bashrc?
-
29-09-2019 - |
Question
Je suis un débutant au système d'exploitation Linux Je dois faire ce qui suit: -
J'ai plusieurs projets sous "~ /" MyProjects
Pensez comme> ls ~ / MyProjects project1 project2i newproject project_possible ....
Tous mes projets ont une structure fixe, voir ci-dessous: -
ls ~ / MyProjects /
src lib inc test_scripts communs
(tous ces répertoires sont ayant des fichiers dans les
Pour naviguer dans le courant () Je veux faire quelque chose comme ça dans mon bashrc.
assign curr_project = "$ 1" alias PSRC = 'cd ~ / MyProjects / curr_project / src /' alias plib = 'cd ~ / MyProjects / curr_project / lib /'
Merci à l'avance
La solution
Vous pouvez utiliser une variable d'environnement pour spécifier le projet en cours et utiliser la variable dans vos alias:
current() {
export CURR_PROJECT=$1
}
alias psrc='cd ~/myprojects/$CURR_PROJECT/src/'
alias plib='cd ~/myprojects/$CURR_PROJECT/lib/'
Tout d'abord vous définissez le CURR_PROJECT
en utilisant
$ current project1
Ensuite, vous appelez votre alias aux répertoires de changement:
$ psrc
L'espoir qui aide.
Autres conseils
J'utilise quelque chose de similaire pour mon environnement de travail - de nombreux projets avec des structures de répertoires communs. Je l'utilise aussi un sélecteur pour me permettre de choisir rapidement des projets sans avoir à taper leur nom. Vous trouverez peut-être utile.
par exemple.
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/'
}
Alors si vous tapez « courant », vous obtiendrez un choix:
~$ current
1) proj1
2) proj2
3) proj3
Select project:
Ceci est un vrai gain de temps pour moi -. Peut-être ce sera pour vous aussi