Créer un fichier avec un bash

Résolu/Fermé
thierryR51
Messages postés
139
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
22 juin 2021
- Modifié par thierryR51 le 26/12/2016 à 16:08
zipe31
Messages postés
36324
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
- 27 déc. 2016 à 13:18
Bonjour,
La question est bête semble-t-il. Pourtant j'ai fait ça:
bookmarkUrl="~/.local/share/radiotray/bookmarks.xml";
bookmarkblog="http://fluxradios.blogspot.fr/p/flux-radios-francaise.html";



curl -s -L $bookmarkblog | sed -n "\#</b:if>#,\#>Autres radios régionales / locales<#p" | grep -o 'http://fluxradios[^<]*' | sed 's#\([^"]*\)">\(.*\)$#\2 \1#' > list.tmp

echo "<bookmarks>" > $bookmarkUrl # initialisation du fichier
exit 0


Le curl crée effectivement le fichier list.tmp mais le echo me donne en réponse:
+ echo '<bookmarks>'
radiotray: ligne 11: ~/.local/share/radiotray/bookmarks.xml: Aucun fichier ou dossier de ce type
+ exit 0


Pourtant un
ls ~/.local/share/radiotray/
bookmarks.xml.bak config.xml plugins/ radiotray.log radiotray.log.1

Mon fichier n'est pas créé, mais la directory existe bien. Est ce que c'est du au fait du "point" ?



Chercheur en améliorations.

[url]

3 réponses

zipe31
Messages postés
36324
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 590
26 déc. 2016 à 18:31
Salut,

bookmarkUrl="~/.local/share/radiotray/bookmarks.xml";
sans les doubles-quotes, sans quoi le tilde (~) n'est pas interprété :

bookmarkUrl=~/.local/share/radiotray/bookmarks.xml;
;-)
1
thierryR51
Messages postés
139
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
22 juin 2021
8
26 déc. 2016 à 20:45
Effectivement, c'est exactement ça. Ben je t'avoue que ce n'est pas évident de trouver ça. Merci @Zipe31
0
zipe31
Messages postés
36324
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 590
27 déc. 2016 à 10:25
À noter que dans un script mieux vaut privilégier les chemins absolus et que la variable
${HOME}
aurait été plus adaptée :

bookmarkUrl="${HOME}/.local/share/radiotray/bookmarks.xml";
;-)
0
thierryR51
Messages postés
139
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
22 juin 2021
8
27 déc. 2016 à 13:13
Effectivement, mais elles sont déclarées où ces variables? Il y en d'autres ?
0
zipe31
Messages postés
36324
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 590
27 déc. 2016 à 13:18
Tu peux avoir un aperçu avec les commandes
env
et
set | less
.

La seconde j'ai mis un
pipe
vers
less
parce qu'elle est extrêmement verbeuse vu qu'elle affiche aussi toutes les fonctions.
0