Pages : 1
#1 Le 21/08/2008, à 14:30
- soupaloignon
[Résolu] Script : demande d'info
Bonjour,
Un petit problème que je ne comprends pas et que je soumet à vos connaissances.
Si j'écris en console :
echo test-ecriture >> /home/soupaloignon/liste-des-envois
j'ai bien un fichier "liste-des-envois" qui se créé à la racine de mon home avec écrit dedans "test-ecriture".
Si par contre je veux créer ce même fichier à la racine du home de l'un des utilisateurs (toto dans l'exemple) et que j'envoie en console :
sudo echo test-ecriture >> /home/toto/liste-des-envois
j'ai un superbe
bash: /home/toto/liste-des-envois: Permission non accordée
alors que je passe la commande en sudo.
Si quelqu'un a des infos, je suis preneur
Dernière modification par soupaloignon (Le 21/08/2008, à 16:46)
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#2 Le 21/08/2008, à 14:33
- ®om
Re : [Résolu] Script : demande d'info
c'est parce que :
sudo echo a > b
c'est en fait :
( sudo echo a ) > b
donc tu n'es pas root pour la redirection.
sudo -s
echo a > b
ou
echo a | sudo tee b
devraient te convenir
Hors ligne
#3 Le 21/08/2008, à 14:44
- iuchiban
Re : [Résolu] Script : demande d'info
sudo echo test-ecriture >> /toto/liste-des-envois
y'a un problème avec cette écriture.
Tu cherches à écrire dans le dossier /toto et pas /home/toto
C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.
Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.
Hors ligne
#4 Le 21/08/2008, à 15:16
- soupaloignon
Re : [Résolu] Script : demande d'info
sudo -s echo a > b
ou
echo a | sudo tee b
devraient te convenir
Merci pour ta réponse. Le 1er exemple ne fonctionne pas, le 2eme très bien. Par contre le contenu du fichier "liste-des-envois" est effacé pour être remplacé par la nouvelle valeur. Je suppose que c'est parce que le "tee" correspond à ">". Que faudrait il pour que cela corresponde à ">>" ?
sudo echo test-ecriture >> /toto/liste-des-envois
y'a un problème avec cette écriture.
Tu cherches à écrire dans le dossier /toto et pas /home/toto
Exact, merci pour la remarque. J'ai mal recopié la ligne, c'est effectivement /home/toto/liste-des-envois que je voulais écrire. Je modifie le post original
Dernière modification par soupaloignon (Le 21/08/2008, à 15:21)
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#5 Le 21/08/2008, à 15:23
- ®om
Re : [Résolu] Script : demande d'info
L'équivalent de >> :
echo a | sudo tee -a b
Mais pourquoi la première solution ne marchait pas?
Hors ligne
#6 Le 21/08/2008, à 15:36
- soupaloignon
Re : [Résolu] Script : demande d'info
L'équivalent de >> :
echo a | sudo tee -a b
Mais pourquoi la première solution ne marchait pas?
Ca marche très bien, merci . Pour la 1ere solution c tres curieux. En script sous la forme :
#!/bin/bash
sudo -s
echo go2 >> /home/toto/liste-des-envois
ca ne passe pas. Alors qu'envoyé en console ça marche effectivement
Dernière modification par soupaloignon (Le 21/08/2008, à 15:38)
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#7 Le 21/08/2008, à 15:49
- soupaloignon
Re : [Résolu] Script : demande d'info
Un dernier truc, pour envoyer une ligne vide dans un fichier, avec la commande que tu m'as donné, il faudrait faire quoi ?
j'ai essayé avec:
echo \n
echo '\n'
mais ca ne marche pas
Dernière modification par soupaloignon (Le 21/08/2008, à 15:54)
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#8 Le 21/08/2008, à 15:58
- ®om
Hors ligne
#9 Le 21/08/2008, à 16:04
- soupaloignon
Re : [Résolu] Script : demande d'info
Tout bétement en fait
Génial, merci
Dernière modification par soupaloignon (Le 21/08/2008, à 16:07)
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#10 Le 21/08/2008, à 16:06
- ®om
Re : [Résolu] Script : demande d'info
$ > test
$ echo a | tee -a test
a
$ echo b | tee -a test
b
$ echo c | tee -a test
c
$ cat test
a
b
c
EDIT: c'est malin d'éditer ton message précédent, on ne comprend pas pourquoi j'écris ça maintenant.
Sinon, pour info, pour faire interpréter les \n à echo :
echo -e 'a\nb\nc\nd'
Dernière modification par ®om (Le 21/08/2008, à 16:07)
Hors ligne
#11 Le 21/08/2008, à 16:10
- soupaloignon
Re : [Résolu] Script : demande d'info
EDIT: c'est malin d'éditer ton message précédent, on ne comprend pas pourquoi j'écris ça maintenant.
Désolé, mais la bourde était si grosse dans la 1ere interprétation que j'ai fait de ton code que j'ai pas osé le laisser
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#12 Le 21/08/2008, à 16:59
- HP
Re : [Résolu] Script : demande d'info
echo >> a
peut être aussi :
printf "\n" >> a
j'ai lu (dans un vieil ouvrage) que echo devrait être abandonné et printf privilégié…
cat /dev/urandom >/dev/null 2>&1 #github
Hors ligne