J'ai un problème avec rm (dans le script ou directement dans la
console. J'ai une variable REP qui contient le nom d'un répertoire.
La commande suivante ne fonctionne pas :
rm -rfv "$REP/sousrep/*"
En revanche celle-ci oui (sans les guillements) :
rm -rfv $REP/sousrep/*
(le -v pour que rm raconte sa vie ; dans le deuxième cas il supprime
bien le fichier qui se trouve dans le sous-répertoire)
Il me semblait que c'était plus prudent de mettre des guillemets à cet
endroit, pour éviter les catastrophes en cas d'espace dans le contenu
de $REP, non ?
La commande suivante ne fonctionne pas : rm -rfv "$REP/sousrep/*"
En revanche celle-ci oui (sans les guillements) : rm -rfv $REP/sousrep/*
Et si tu faisais rm -rfv "$REP/sousrep/" && mkdir "$REP/sousrep" ?
-- Stéphane
<http://pasdenom.info/fortune/>
La peur de l'ennui est la seule excuse au travail. -+- Jules Renard -+-
Erwan David
Yliur écrivait :
Bonjour
Je tâche péniblement d'écrire un script shell...
J'ai un problème avec rm (dans le script ou directement dans la console. J'ai une variable REP qui contient le nom d'un répertoire.
La commande suivante ne fonctionne pas : rm -rfv "$REP/sousrep/*"
En revanche celle-ci oui (sans les guillements) : rm -rfv $REP/sousrep/*
(le -v pour que rm raconte sa vie ; dans le deuxième cas il supprime bien le fichier qui se trouve dans le sous-répertoire)
Il me semblait que c'était plus prudent de mettre des guillemets à cet endroit, pour éviter les catastrophes en cas d'espace dans le contenu de $REP, non ?
Et là ça ne marche pas. Une idée ?
Merci
Yliur
l'étoile n'est pas expansée dans les guillements...
rm -rfv "$REP"/sousrep/*
-- Le travail n'est pas une bonne chose. Si ça l'était, les riches l'auraient accaparé
Yliur <yliur@free.fr> écrivait :
Bonjour
Je tâche péniblement d'écrire un script shell...
J'ai un problème avec rm (dans le script ou directement dans la
console. J'ai une variable REP qui contient le nom d'un répertoire.
La commande suivante ne fonctionne pas :
rm -rfv "$REP/sousrep/*"
En revanche celle-ci oui (sans les guillements) :
rm -rfv $REP/sousrep/*
(le -v pour que rm raconte sa vie ; dans le deuxième cas il supprime
bien le fichier qui se trouve dans le sous-répertoire)
Il me semblait que c'était plus prudent de mettre des guillemets à cet
endroit, pour éviter les catastrophes en cas d'espace dans le contenu
de $REP, non ?
Et là ça ne marche pas. Une idée ?
Merci
Yliur
l'étoile n'est pas expansée dans les guillements...
rm -rfv "$REP"/sousrep/*
--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
J'ai un problème avec rm (dans le script ou directement dans la console. J'ai une variable REP qui contient le nom d'un répertoire.
La commande suivante ne fonctionne pas : rm -rfv "$REP/sousrep/*"
En revanche celle-ci oui (sans les guillements) : rm -rfv $REP/sousrep/*
(le -v pour que rm raconte sa vie ; dans le deuxième cas il supprime bien le fichier qui se trouve dans le sous-répertoire)
Il me semblait que c'était plus prudent de mettre des guillemets à cet endroit, pour éviter les catastrophes en cas d'espace dans le contenu de $REP, non ?
Et là ça ne marche pas. Une idée ?
Merci
Yliur
l'étoile n'est pas expansée dans les guillements...
rm -rfv "$REP"/sousrep/*
-- Le travail n'est pas une bonne chose. Si ça l'était, les riches l'auraient accaparé
Fabien LE LEZ
On Tue, 5 Jul 2011 19:52:41 +0200, Yliur :
rm -rfv "$REP/sousrep/*"
Cette commande tente de supprimer un fichier qui s'appelle "*". Comme tu n'as probablement pas de tel fichier, la commande échoue.
rm -rfv $REP/sousrep/*
Puisqu'il n'y a pas de guillemets, $REP/sousrep/* est remplacé par le_repertoire/sousrep/fichier1 le_repertoire/sousrep/fichier2...
Comme ces fichiers existent, tout va bien.
Il me semblait que c'était plus prudent de mettre des guillemets à cet
rm -rfv "$REP"/sousrep/*
On Tue, 5 Jul 2011 19:52:41 +0200, Yliur <yliur@free.fr>:
rm -rfv "$REP/sousrep/*"
Cette commande tente de supprimer un fichier qui s'appelle "*". Comme
tu n'as probablement pas de tel fichier, la commande échoue.
rm -rfv $REP/sousrep/*
Puisqu'il n'y a pas de guillemets,
$REP/sousrep/*
est remplacé par
le_repertoire/sousrep/fichier1 le_repertoire/sousrep/fichier2...
Comme ces fichiers existent, tout va bien.
Il me semblait que c'était plus prudent de mettre des guillemets à cet
La commande suivante ne fonctionne pas : rm -rfv "$REP/sousrep/*"
Remplace "rm -rfv" par "echo". Ça te permettra de voir le résultat sans supprimer réellement les fichiers.
Fabien LE LEZ
On Tue, 05 Jul 2011 20:25:56 +0200, yamo' :
Et si tu faisais rm -rfv "$REP/sousrep/" && mkdir "$REP/sousrep" ?
Ça ne fait pas la même chose :
- Les fichiers "cachés" (dont le nom commence par un point) sont supprimés dans ta version, pas dans celle de l'OP. - Quand tu recrées le répertoire, tu ne le recrées pas forcément avec les mêmes permissions, ni le même propriétaire/groupe.
On Tue, 05 Jul 2011 20:25:56 +0200, yamo' <yamo@beurdin.invalid>:
Et si tu faisais rm -rfv "$REP/sousrep/" && mkdir "$REP/sousrep" ?
Ça ne fait pas la même chose :
- Les fichiers "cachés" (dont le nom commence par un point) sont
supprimés dans ta version, pas dans celle de l'OP.
- Quand tu recrées le répertoire, tu ne le recrées pas forcément avec
les mêmes permissions, ni le même propriétaire/groupe.
Et si tu faisais rm -rfv "$REP/sousrep/" && mkdir "$REP/sousrep" ?
Ça ne fait pas la même chose :
- Les fichiers "cachés" (dont le nom commence par un point) sont supprimés dans ta version, pas dans celle de l'OP. - Quand tu recrées le répertoire, tu ne le recrées pas forcément avec les mêmes permissions, ni le même propriétaire/groupe.
yamo'
Fabien LE LEZ a tapoté, le 05/07/2011 20:39:
Et si tu faisais rm -rfv "$REP/sousrep/" && mkdir "$REP/sousrep" ?
Ça ne fait pas la même chose :
- Les fichiers "cachés" (dont le nom commence par un point) sont supprimés dans ta version, pas dans celle de l'OP.
Merci, je ne pense jamais à ça, dans mon esprit * c'est tout.
-- Stéphane
<http://pasdenom.info/fortune/>
Plus fait douceur que violence. -+- Jean de La Fontaine (1621-1695), Phébus et Borée (Fables VI.3) -+-
Fabien LE LEZ a tapoté, le 05/07/2011 20:39:
Et si tu faisais rm -rfv "$REP/sousrep/" && mkdir "$REP/sousrep" ?
Ça ne fait pas la même chose :
- Les fichiers "cachés" (dont le nom commence par un point) sont
supprimés dans ta version, pas dans celle de l'OP.
Merci, je ne pense jamais à ça, dans mon esprit * c'est tout.
--
Stéphane
<http://pasdenom.info/fortune/>
Plus fait douceur que violence.
-+- Jean de La Fontaine (1621-1695),
Phébus et Borée (Fables VI.3) -+-
Et si tu faisais rm -rfv "$REP/sousrep/" && mkdir "$REP/sousrep" ?
Ça ne fait pas la même chose :
- Les fichiers "cachés" (dont le nom commence par un point) sont supprimés dans ta version, pas dans celle de l'OP.
Merci, je ne pense jamais à ça, dans mon esprit * c'est tout.
-- Stéphane
<http://pasdenom.info/fortune/>
Plus fait douceur que violence. -+- Jean de La Fontaine (1621-1695), Phébus et Borée (Fables VI.3) -+-
Yliur
Le Tue, 05 Jul 2011 20:30:56 +0200 Fabien LE LEZ a écrit :
On Tue, 5 Jul 2011 19:52:41 +0200, Yliur :
>La commande suivante ne fonctionne pas : > rm -rfv "$REP/sousrep/*"
Remplace "rm -rfv" par "echo". Ça te permettra de voir le résultat sans supprimer réellement les fichiers.
Oui, mais le résultat me satisfaisait :) . Je n'avais pas fait attention au fait que c'est l'interpréteur qui va remplacer * par les différentes possibilités. Donc passer truc/* à la commande ça me paraissait bien.
Merci pour les réponses des différents intervenants.
Le Tue, 05 Jul 2011 20:30:56 +0200
Fabien LE LEZ <gramster@gramster.com> a écrit :
On Tue, 5 Jul 2011 19:52:41 +0200, Yliur <yliur@free.fr>:
>La commande suivante ne fonctionne pas :
> rm -rfv "$REP/sousrep/*"
Remplace "rm -rfv" par "echo". Ça te permettra de voir le résultat
sans supprimer réellement les fichiers.
Oui, mais le résultat me satisfaisait :) . Je n'avais pas fait
attention au fait que c'est l'interpréteur qui va remplacer * par les
différentes possibilités. Donc passer truc/* à la commande ça me
paraissait bien.
Merci pour les réponses des différents intervenants.
Le Tue, 05 Jul 2011 20:30:56 +0200 Fabien LE LEZ a écrit :
On Tue, 5 Jul 2011 19:52:41 +0200, Yliur :
>La commande suivante ne fonctionne pas : > rm -rfv "$REP/sousrep/*"
Remplace "rm -rfv" par "echo". Ça te permettra de voir le résultat sans supprimer réellement les fichiers.
Oui, mais le résultat me satisfaisait :) . Je n'avais pas fait attention au fait que c'est l'interpréteur qui va remplacer * par les différentes possibilités. Donc passer truc/* à la commande ça me paraissait bien.
Merci pour les réponses des différents intervenants.
Sergio
Le 05/07/2011 20:28, Erwan David a écrit :
l'étoile n'est pas expansée dans les guillements...
rm -rfv "$REP"/sousrep/*
Voire : rm -rfv "$REP/sous rep/"*
-- Serge http://leserged.online.fr/ Mon blog: http://cahierdesergio.free.fr/ Soutenez le libre: http://www.framasoft.org
Le 05/07/2011 20:28, Erwan David a écrit :
l'étoile n'est pas expansée dans les guillements...
rm -rfv "$REP"/sousrep/*
Voire :
rm -rfv "$REP/sous rep/"*
--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
l'étoile n'est pas expansée dans les guillements...
rm -rfv "$REP"/sousrep/*
Voire : rm -rfv "$REP/sous rep/"*
-- Serge http://leserged.online.fr/ Mon blog: http://cahierdesergio.free.fr/ Soutenez le libre: http://www.framasoft.org
may5555
Le mardi 05 Juillet 2011 à 19:52 par Yliur :
Bonjour
Je tâche péniblement d'écrire un script shell...
J'ai un problème avec rm (dans le script ou directement dans la console. J'ai une variable REP qui contient le nom d'un répertoire.
La commande suivante ne fonctionne pas : rm -rfv "$REP/sousrep/*"
En revanche celle-ci oui (sans les guillements) : rm -rfv $REP/sousrep/*
(le -v pour que rm raconte sa vie ; dans le deuxième cas il supprime bien le fichier qui se trouve dans le sous-répertoire)
Il me semblait que c'était plus prudent de mettre des guillemets à cet endroit, pour éviter les catastrophes en cas d'espace dans le contenu de $REP, non ?
Et là ça ne marche pas. Une idée ?
Merci
Yliur
moi aussi j'ai déjà tenter de taper la commande :
sudo rm -rf /
que j'ai trouver dans cet article http://www.mesmesinfo.com/les-commandes-linux-vous-ne-devez-pas-utiliser/
heureusement que l'est essayé dans une machine virtuel comme il est conseillé
Le mardi 05 Juillet 2011 à 19:52 par Yliur :
Bonjour
Je tâche péniblement d'écrire un script shell...
J'ai un problème avec rm (dans le script ou directement dans la
console. J'ai une variable REP qui contient le nom d'un répertoire.
La commande suivante ne fonctionne pas :
rm -rfv "$REP/sousrep/*"
En revanche celle-ci oui (sans les guillements) :
rm -rfv $REP/sousrep/*
(le -v pour que rm raconte sa vie ; dans le deuxième cas il supprime
bien le fichier qui se trouve dans le sous-répertoire)
Il me semblait que c'était plus prudent de mettre des guillemets
à cet
endroit, pour éviter les catastrophes en cas d'espace dans le contenu
de $REP, non ?
Et là ça ne marche pas. Une idée ?
Merci
Yliur
moi aussi j'ai déjà tenter de taper la commande :
sudo rm -rf /
que j'ai trouver dans cet article http://www.mesmesinfo.com/les-commandes-linux-vous-ne-devez-pas-utiliser/
heureusement que l'est essayé dans une machine virtuel comme il est conseillé
J'ai un problème avec rm (dans le script ou directement dans la console. J'ai une variable REP qui contient le nom d'un répertoire.
La commande suivante ne fonctionne pas : rm -rfv "$REP/sousrep/*"
En revanche celle-ci oui (sans les guillements) : rm -rfv $REP/sousrep/*
(le -v pour que rm raconte sa vie ; dans le deuxième cas il supprime bien le fichier qui se trouve dans le sous-répertoire)
Il me semblait que c'était plus prudent de mettre des guillemets à cet endroit, pour éviter les catastrophes en cas d'espace dans le contenu de $REP, non ?
Et là ça ne marche pas. Une idée ?
Merci
Yliur
moi aussi j'ai déjà tenter de taper la commande :
sudo rm -rf /
que j'ai trouver dans cet article http://www.mesmesinfo.com/les-commandes-linux-vous-ne-devez-pas-utiliser/
heureusement que l'est essayé dans une machine virtuel comme il est conseillé