Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Créer des liens symboliques à partir d'un fichier

31 réponses
Avatar
François Valenduc
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,

François Valenduc

1 réponse

1 2 3 4
Avatar
Francois Lafont
Le 09/08/2011 10:47, Luc Habert a écrit :

Tout dépend de ce qu'on entend par strictement. Ça va donner le meme
résultat (et encore, si le chemin d'accès que tu donnes à cat commence par
un --, tu vas avoir des surprises), mais sous le capot, il ne se passe pas
la meme chose. Classiquement, on appelle ça un uuoc (useless use of cat).



Ok. :-)

Je pose la question car j'ai voulu faire des tests et j'ai eu des
étrangetés que je n'arrive pas à reproduire (du genre en tapant dans
l'interpréteur « cat toto | while read ; do <ENTER> » j'avais un nouveau
prompt qui s'affichait comme si la commande que j'avais commencée à
taper était achevée).



Ça, c'est parce que le do n'est pas terminé. Comme le shell est gentil,
plutot que de te jeter avec un syntax error, il te prompte pour la suite de
la boucle.



Ah mais justement, j'ai pas dû bien m'exprimer, le shell après le « do »
m'avait mis le prompt « $ », c'est-à-dire le prompt qui dit "ok, tu as
fini ta commande on passe à la suite", mais pas le prompt « > » (celui
qui dit "vas-y donne moi la suite de ton instruction").

Au début, je me suis dit "il est tard, tu dois être fatigué". Mais
aujourd'hui, j'ai pu reproduire cette étrangeté. Voici une copie d'écran :

http://sisco.laf.free.fr/codes/divers/Capture-Terminal.png

1) Quand j'appuie sur ENTER au niveau de la pastille rouge, je me
retrouve avec le prompt « $ ». Impossible de continuer la suite de ma
boucle ?

2) Deuxième tentative, cette fois-ci je peux aller jusqu'au « done »,
mais quand je tape ENTER au niveau de la pastille verte, il me demande
de continuer la boucle (avec un prompt « > ») alors que celle-ci est finie ?

3) Troisième tentative, là ça marche comme attendu (avec un ENTER au
niveau de la pastille bleue) ? Et par la suite impossible de reproduire
ces phénomènes.


Si vous avez des explications à ces étrangetés, ça m'intéresse. Je suis
sous Debian Squeeze et j'ai utilisé le Gnome-terminal.



--
François Lafont
1 2 3 4