Bonjour à tous,
J'essaie de créer des liens symboliques à partir d'un fichier. J'utilise
le script suivant:
#!/bin/bash
cd /home/francois/Images/test
rm -f *
for i in $( cat /home/francois/config/liste ); do
echo $i
ln -s "$i" .
done
Le fichier "liste" contient donc une liste de fichier pour lequel je
veux créer des liens symboliques dans le fichier "test". Le but est
d'utiliser ensuite ce dossier comme source d'images de fond d'écran avec
KDE. Le problème est que çà ne fonctionne pas pour les noms de fichier
contenant des espaces.
Quelqu'un connaît-il une solution à mon problème ?
Merci d'avance,
Doug713705 , dans le message <j1n2j6$d6o$, a écrit :
Pourquoi ? Quel gain apporte cette méthode par rapport à l'autre ?
À court terme, une meilleure résistance aux race conditions, ce qui est assez mineur.
À moyen terme, de bonnes habitudes qui éviteront des trous de sécurité béants.
Benoit Izac
Bonjour,
le 07/08/2011 à 17:38, François Valenduc a écrit dans le message <4e3eb185$0$26831$ :
J'essaie de créer des liens symboliques à partir d'un fichier. J'utilise le script suivant:
#!/bin/bash cd /home/francois/Images/test rm -f * for i in $( cat /home/francois/config/liste ); do echo $i ln -s "$i" . done
Le fichier "liste" contient donc une liste de fichier pour lequel je veux créer des liens symboliques dans le fichier "test". Le but est d'utiliser ensuite ce dossier comme source d'images de fond d'écran avec KDE. Le problème est que çà ne fonctionne pas pour les noms de fichier contenant des espaces.
for i in "$( cat /home/francois/config/liste )"; do
Ou alors tu changes IFS.
Merci pour le conseil mais çà ne fonctionne pas. Il n'y a qu'un lien symbolique créé pour le dernier fichier de la liste.
Effectivement, j'ai dit une bêtise, avec ma version i vaut la totalité du fichier liste et la boucle n'est exécutée qu'une fois.
-- Benoit Izac
Bonjour,
le 07/08/2011 à 17:38, François Valenduc a écrit dans le message
<4e3eb185$0$26831$426a74cc@news.free.fr> :
J'essaie de créer des liens symboliques à partir d'un fichier. J'utilise
le script suivant:
#!/bin/bash
cd /home/francois/Images/test
rm -f *
for i in $( cat /home/francois/config/liste ); do
echo $i
ln -s "$i" .
done
Le fichier "liste" contient donc une liste de fichier pour lequel je
veux créer des liens symboliques dans le fichier "test". Le but est
d'utiliser ensuite ce dossier comme source d'images de fond d'écran avec
KDE. Le problème est que çà ne fonctionne pas pour les noms de fichier
contenant des espaces.
for i in "$( cat /home/francois/config/liste )"; do
Ou alors tu changes IFS.
Merci pour le conseil mais çà ne fonctionne pas. Il n'y a qu'un lien
symbolique créé pour le dernier fichier de la liste.
Effectivement, j'ai dit une bêtise, avec ma version i vaut la totalité
du fichier liste et la boucle n'est exécutée qu'une fois.
le 07/08/2011 à 17:38, François Valenduc a écrit dans le message <4e3eb185$0$26831$ :
J'essaie de créer des liens symboliques à partir d'un fichier. J'utilise le script suivant:
#!/bin/bash cd /home/francois/Images/test rm -f * for i in $( cat /home/francois/config/liste ); do echo $i ln -s "$i" . done
Le fichier "liste" contient donc une liste de fichier pour lequel je veux créer des liens symboliques dans le fichier "test". Le but est d'utiliser ensuite ce dossier comme source d'images de fond d'écran avec KDE. Le problème est que çà ne fonctionne pas pour les noms de fichier contenant des espaces.
for i in "$( cat /home/francois/config/liste )"; do
Ou alors tu changes IFS.
Merci pour le conseil mais çà ne fonctionne pas. Il n'y a qu'un lien symbolique créé pour le dernier fichier de la liste.
Effectivement, j'ai dit une bêtise, avec ma version i vaut la totalité du fichier liste et la boucle n'est exécutée qu'une fois.
-- Benoit Izac
Erwan David
Benoit Izac écrivait :
Bonjour,
le 07/08/2011 à 17:38, François Valenduc a écrit dans le message <4e3eb185$0$26831$ :
J'essaie de créer des liens symboliques à partir d'un fichier. J'utilise le script suivant:
#!/bin/bash cd /home/francois/Images/test rm -f * for i in $( cat /home/francois/config/liste ); do echo $i ln -s "$i" . done
Le fichier "liste" contient donc une liste de fichier pour lequel je veux créer des liens symboliques dans le fichier "test". Le but est d'utiliser ensuite ce dossier comme source d'images de fond d'écran avec KDE. Le problème est que çà ne fonctionne pas pour les noms de fichier contenant des espaces.
for i in "$( cat /home/francois/config/liste )"; do
Ou alors tu changes IFS.
Merci pour le conseil mais çà ne fonctionne pas. Il n'y a qu'un lien symbolique créé pour le dernier fichier de la liste.
Effectivement, j'ai dit une bêtise, avec ma version i vaut la totalité du fichier liste et la boucle n'est exécutée qu'une fois.
zutre remarque : mieux vaut "$(< /home/francois/config/liste)", le cat n'est pas nécessaire.
-- Le travail n'est pas une bonne chose. Si ça l'était, les riches l'auraient accaparé
le 07/08/2011 à 17:38, François Valenduc a écrit dans le message
<4e3eb185$0$26831$426a74cc@news.free.fr> :
J'essaie de créer des liens symboliques à partir d'un fichier. J'utilise
le script suivant:
#!/bin/bash
cd /home/francois/Images/test
rm -f *
for i in $( cat /home/francois/config/liste ); do
echo $i
ln -s "$i" .
done
Le fichier "liste" contient donc une liste de fichier pour lequel je
veux créer des liens symboliques dans le fichier "test". Le but est
d'utiliser ensuite ce dossier comme source d'images de fond d'écran avec
KDE. Le problème est que çà ne fonctionne pas pour les noms de fichier
contenant des espaces.
for i in "$( cat /home/francois/config/liste )"; do
Ou alors tu changes IFS.
Merci pour le conseil mais çà ne fonctionne pas. Il n'y a qu'un lien
symbolique créé pour le dernier fichier de la liste.
Effectivement, j'ai dit une bêtise, avec ma version i vaut la totalité
du fichier liste et la boucle n'est exécutée qu'une fois.
zutre remarque :
mieux vaut "$(< /home/francois/config/liste)", le cat n'est pas nécessaire.
--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
le 07/08/2011 à 17:38, François Valenduc a écrit dans le message <4e3eb185$0$26831$ :
J'essaie de créer des liens symboliques à partir d'un fichier. J'utilise le script suivant:
#!/bin/bash cd /home/francois/Images/test rm -f * for i in $( cat /home/francois/config/liste ); do echo $i ln -s "$i" . done
Le fichier "liste" contient donc une liste de fichier pour lequel je veux créer des liens symboliques dans le fichier "test". Le but est d'utiliser ensuite ce dossier comme source d'images de fond d'écran avec KDE. Le problème est que çà ne fonctionne pas pour les noms de fichier contenant des espaces.
for i in "$( cat /home/francois/config/liste )"; do
Ou alors tu changes IFS.
Merci pour le conseil mais çà ne fonctionne pas. Il n'y a qu'un lien symbolique créé pour le dernier fichier de la liste.
Effectivement, j'ai dit une bêtise, avec ma version i vaut la totalité du fichier liste et la boucle n'est exécutée qu'une fois.
zutre remarque : mieux vaut "$(< /home/francois/config/liste)", le cat n'est pas nécessaire.
-- Le travail n'est pas une bonne chose. Si ça l'était, les riches l'auraient accaparé
Fabien LE LEZ
On Sun, 07 Aug 2011 21:25:04 +0200, François Valenduc :
Donc,j'ai rajouté ceci:
Je t'invite à tester ton script.
Test 1 :
rm -rf /home/francois/Images Puis appel de ton script
Test 2 :
chmod a-x /home/francois/Images/test/ Puis appel de ton script
Dans les deux cas, si je ne m'abuse, tu effaceras les fichiers du répertoire courant.
On Sun, 07 Aug 2011 21:25:04 +0200, François Valenduc
<francois.valenduc@tvcablenet.be>:
Donc,j'ai rajouté ceci:
Je t'invite à tester ton script.
Test 1 :
rm -rf /home/francois/Images
Puis appel de ton script
Test 2 :
chmod a-x /home/francois/Images/test/
Puis appel de ton script
Dans les deux cas, si je ne m'abuse, tu effaceras les fichiers du
répertoire courant.