URL: https://linuxfr.org/forums/programmation-shell/posts/fonction-utile-pour-un-bashrc Title: Fonction utile pour un .bashrc Authors: Edouard Gomez Date: 2004年09月01日T16:19:24+02:00 Tags: Score: 0 Bonjour, soucieux de ne plus développer de programmes en devant les installer sous le compte root, je me suis enfin décidé à peaufiner mon .bashrc pour inclure des répertoires au PATH et au LD_LIBRARY_PATH automatiquement si leur présence est avéree. L'idée s'est d'appeler add_tail pour qu'il rajoute à PATH ou LD_LIBRARY_PATH les chemins indiqués, j'essaye donc de faire une fonction générique comme suit: #!/bin/sh # Fonction: add_tail #3 args # Desc : Permet de rajouter en fin de variable un nouvel element # en prenant soin de rajouter l'element separateur si # nécessaire. # Params : 1ドル Le nom de la variable à modifier # 2ドル Element à rajouter # 3ドル Element separateur function add_tail() { £spaces£ £/spaces£local VARNAME=1ドル £spaces£ £/spaces£local NEWTAIL=2ドル £spaces£ £/spaces£local SEPARATOR=3ドル £spaces£ £/spaces£if [ -n "${!VARNAME}" ] ; then £spaces£ £/spaces£NEWTAIL="${SEPARATOR}${NEWTAIL}" £spaces£ £/spaces£fi £spaces£ £/spaces£# ligne qui merde £spaces£ £/spaces£${VARNAME}="${!VARNAME}${NEWTAIL}" } for dir in "${HOME}/bin ${HOME}/opt/bin" ; do £spaces£ £/spaces£if [ -d "${dir}" ] ; then £spaces£ £/spaces£add_tail "PATH" "${dir}" ":" £spaces£ £/spaces£fi done Seulement voilà il essaye toujours d'évaluer (ici éxécuter un prog dont le nom serait l'expansion du contenu pointé par VARNAME) la ligne "qui merde", je peux remplacer le membre de gauche par ${!VARNAME} ou ${VARNAME} ou $VARNAME ou... toujours le même résultat. ./plop.sh: line 13: PATH=/opt/arch/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/opt/mingw32-cross/bin:/opt/java/bin:/opt/ffmpeg/bin:/opt/hugin/bin:/opt/insight/bin:/opt/transcode/bin:/opt/yasm/bin:/home/edy/bin:/home/edy/bin:/usr/share: Aucun fichier ou répertoire de ce type Toute suggestion le bienvenue

AltStyle によって変換されたページ (->オリジナル) /