Pages : 1
#1 Le 06/03/2007, à 18:27
- Dayoflayo
Probleme commande SED
Bonjour alors voila j'ai ca :
var=`sed -n 111p /boot/grub/menu.lst | sed 's/\//\x5C/g'`
Donc je recupere la ligne 111, ca c'est bon mais le probleme vient au moment ou je veux changer mes / en \. Pas moyen, meme avec l'hexa y veut pas.
Quelqu'un aurait une idée parceque la je vais aller me pendre.
Merci
Hors ligne
#2 Le 06/03/2007, à 19:48
- Yannick_LM
Re : Probleme commande SED
Chez moi, ça marche avec :
sed -e 's/\//\\/g'
Juste une question, par curiosité : pourquoi veux-tu faire cela ?
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#3 Le 06/03/2007, à 21:22
- hegyre
Re : Probleme commande SED
En fait il voulait faire un script bash qui fait en sorte qu'a chaque nouveau démarrage d'Ubuntu, il y ait une image aléatoire pour grub pour le prochain démarrage de l'ordinateur.
Il a réussi, mais pour l'instant ça ne marche que pour 10 images max.
Hors ligne
#4 Le 07/03/2007, à 16:01
- kaworu
Re : Probleme commande SED
Salut !
un conseil, n'édite pas le fichier de grub avec un script qui fait dans l'aléatoire...
disont qu'au pire, tu pourra plus booter.
Je te conseil plutôt de faire comme ceçi :
dans ton menu.lst tu met que le fichier de splash est /boot/random.xpm.gz
le fichier /boot/random.xpm.gz est un lien symbolique qui pointe vers un splash.
De cette manière, pour changer le splash il suffit de changer le lien, et non pas d'éditer ton fichier grub. Il te reste plus qu'à faire un script qui change ce lien symbolique (pas très dur )
Dernière modification par kaworu (Le 07/03/2007, à 16:02)
"There are in order of increasing severity: lies, damn lies, statistics, and computer benchmarks."
Hors ligne
#5 Le 07/03/2007, à 22:03
- hegyre
Re : Probleme commande SED
Wé c'est pas bete lol
Remarque j'aimerais bien savoir pourquoi j'ai mon script qui marche très bien quand je l'execute manuellement mais si je le met dans le init.d, ca ne marche pas et il me met cette erreur dans le fichier /var/log/boot :
Mar 7 21:53:01 rc2: /etc/rc2.d/S20grub_random_image.sh: 5: arith: syntax error: "RANDOM% 15"
Voila le script :
#!/bin/bash
cd /boot/grub/splashimages
nbr=$(find -name \[0-9]* | wc -l)
rnd=$((RANDOM% $nbr))
cd /boot/grub
sed -e s/[0-9]*.xpm.gz/$rnd.xpm.gz/g menu.lst > menu.lst.temp
cp menu.lst.temp menu.lst
#rm menu.lst.temp
Je suis sur la 6.10, alors que dayoflayo est sur la 6.06 et chez lui ca marche tres bien lors du boot pour le meme script
Hors ligne
#6 Le 08/03/2007, à 10:16
- kaworu
Re : Probleme commande SED
essaye :
rnd=$((RANDOM % nbr))
Autrement essaye plutôt avec let :
let "rnd = RANDOM % nbr"
"There are in order of increasing severity: lies, damn lies, statistics, and computer benchmarks."
Hors ligne
#7 Le 08/03/2007, à 22:08
- hegyre
Re : Probleme commande SED
ok merci, mais j'ai testé les 2 possibilités que tu m'as dit, mais ca ne marche toujours pas.
Enfin que je teste en manuel ca marche super bien, mais lors du boot ca marche pas , et cette fois le fichier /var/log/boot rapporte :
Mar 8 21:57:54 rc2: /etc/rc2.d/S20grub_random_image.sh: 5: let: not found
Ca veut dire qu'il ne connais pas la commande let ? lol et quand j'ai essayé avec RANDOM j'avais la meme erreur mais ... avec RANDOM a la place de let
Dernière modification par hegyre (Le 08/03/2007, à 22:08)
Hors ligne
#8 Le 09/03/2007, à 19:49
- hegyre
Re : Probleme commande SED
Personne ne sais d'ou ca peut venir alors ?
Bon sinon j'ai la derniere solution ultime : mettre le script au démarrage de gnome et la c'est sur que ca va marcher mais bon j'aurai préféré le mettre dans le init.d
Hors ligne
#9 Le 12/03/2007, à 23:20
- hegyre
Re : Probleme commande SED
bon voila kaworu j'ai suivi tes indications et j'ai fait THE script pour avoir une image aléatoire dans grub en 15 min environ ^^
donc dans le menu.lst on met cette image : /boot/grub/splashimages/random.xpm.gz
dans le dossier personnel ou dans le inti.d (au choix) on crée un script grub_random_image.sh :
gedit ~/grub_random_image.sh
On y met le script :
Voir le code à cette adresse : http://forum.ubuntu-fr.org/viewtopic.php?pid=1302769#p1302769
A partir de là 2 méthodes :
- soit vous avez édité le fichier /etc/sudoers pour que vous n'ayez plus a taper votre mot de passe a chaque fois que vous faites un sudo (c'est ce que j'ai fait), donc vous pouvez ajouter ceci dans les programmes au démarrage (dans Sessions) :
sudo /home/votre_nom_d'utilisateur/grub_random_image.sh
- soit vous le mettez dans le init.d et faites un :
update-rc.d grub_random_image.sh start 20 2 3 4 5 .
Hmm je crois qu'il va avoir sa place dans le wiki celui la si personne n'est contre ^^
Edit du 1er novembre 2007 : script comportant un léger bug, correction la semaine prochaine
Edit du 7 novembre : script corrigé
Dernière modification par hegyre (Le 07/11/2007, à 16:20)
Hors ligne
Pages : 1