Bonjour,
En bash,
1) J'aimerai comprendre précisément la différence entre ~ et /home/userName
Si on fait
le ~ est remplacé par /home/userName
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var=~/monRep echo $var
Si quelqu'un a une explication ou un lien sur une ?
2) Cette différence résulte sur le problème concret suivant :
Je tente d'écrire un script qui lit dans un fichier un chemin puis utilise ce chemin. C'est dans un sous-shell et le ~ fait que le chemin n'est pas reconnu. Il l'est si c'est /home/userName.
Je n'arrive pas à substituer dans une variable une partie de chaine par une variable. Ceci avec sed car je ne connais pas awk
après exécution (copie de l'affichage avec -x):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #! /bin/bash -x pathVar="~/monDir" pathVar2="~/monDir" racine="/home/`whoami`" pathVar=`echo "$pathVar" | sed 's/~/\/home\/userName/'` pathVar2=`echo "$pathVar2" | sed 's/~/$racine/'`
pathVar=/home/userName/monDir
pathVar2='$racine/monDir'
Je comprends que $racine n'est pas substituer car entre '' mais je ne sais pas comment procéder.
Merci pour votre aide,







Répondre avec citation


N'oubliez pas de consulter

N'oubliez pas le bouton
et pensez aux balises [code]

Partager