Problème de compréhension avec un ligne de shell - Shell/Batch - Programmation
Marsh Posté le 15-01-2007 à 16:06:25
Citation : -Est ce que source est une variable? |
ça en a tout l'air
Citation : -Mais surtout qu'est ce que veut bien dire sed 's/\//\\\\\//g'` ? |
Un peu de googling ne fait pas de mal
En substance c'est un remplacement, et la succession de slashes te définit ce qui change (pas envie de la décortiquer hehe)
Marsh Posté le 19-01-2007 à 19:03:38
btvteam a écrit :
|
Syntaxe de création/affectation d'une variable shell: nom=valeur
Cela correspond à la syntaxe donc oui
btvteam a écrit : -Mais surtout qu'est ce que veut bien dire sed 's/\//\\\\\//g'` ? |
man sed !!!
btvteam a écrit : Je sais que les antislashs servent à distinguer un caractère spécifique au Shell, mais du coup je n'arrive pas bien à saisir le sens de cette instruction sed... |
Ben ça se décortique !!!
Il y a 2 groupes de "\\" et un groupe de "\/". Chaque "backslash" permet de rendre le suivant "caractère normal". Au final ça remplacera chaque "slash" de "$1" par "backslash bachslash slash". Rien de bien compliqué...
T'as un très bon tuto de shell ici http://fr.lang.free.fr/cours/Shell_v1.4.pdf qui explique bien le mécanisme de protection au chapitre VI...
Marsh Posté le 15-01-2007 à 14:53:52
Avant toute chose bonjour à tous !
Alors voila mon problème:
J'ai un devoir dans lequel il y a une serie d'instructions Shell. Jusque là tout va bien!
Mais je butte sur une ligne en particulier :
source=`echo $1 | sed 's/\//\\\\\//g'`; shift
Voila je me demandais d'une part:
-Est ce que source est une variable?
-Mais surtout qu'est ce que veut bien dire sed 's/\//\\\\\//g'` ?
Je sais que les antislashs servent à distinguer un caractère spécifique au Shell, mais du coup je n'arrive pas bien à saisir le sens de cette instruction sed...
Merci d'avance pour votre aide !