2010-10-10 5 views
0

Je suis un débutant au système d'exploitation Linux je dois faire ce qui suit: -Comment ajouter/utiliser une variable dans mon fichier bashrc?

J'ai plusieurs projets en cours "~ /" MyProjects

Pensez comme> ls ~/MyProjects project1 project2i newproject project_possible ....

Tous mes projets ont une structure fixe voir comme ci-dessous: -

ls ~/MyProjects/

src lib inc test_scripts commun

(tous ces répertoires sont des fichiers ayant 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

Répondre

1

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/' 

d'abord vous définissez les CURR_PROJECT en utilisant

$ current project1 

Puis invoquez votre alias pour changer de répertoire:

$ psrc 

espoir qui aide.

+0

Merci beaucoup kraftan, ça marche :). – Hemanth

+0

De rien. Je suis heureux d'avoir pu aider. – kraftan

0

J'utilise quelque chose de similaire pour mon environnement de travail - de nombreux projets avec une structure de répertoires commune. J'utilise également un sélecteur pour me permettre de choisir rapidement des projets sans taper leur nom. Vous pourriez le trouver utile.

E.g.

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/' 
} 

si vous tapez « en cours », vous obtiendrez un choix:

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

Ceci est un vrai gain de temps pour moi - ce sera peut-être pour vous aussi.

Questions connexes