Bonjour,
Je souhaite placer le résultat d'un "grep" vers une variable
Actuellement j'exporte le résultat dans une fichier.
------extrait du fichier bash--------
var1="abc"
var2="abcdef"
echo $var1 | grep $var2 >result.tmp
read var3 < result.tmp
# Il doit y avoir plus simple ;-)
-------------------------------------------
remarque :
J'espérais que cette ligne ci-dessous fonctionnerait :
"echo $var1 | grep $var2 | read var3"
Mais var3 reste vide. Pourquoi ?
Merci de votre aide
Phildes
Forum Programmation.shell script connexion routeur
Bonjour
Je voudrai me connecter automatiquement sur un routeur:
!/bin/sh
telnet @iprouteur =>ça c'est ok
Mais aprés que faut-il faire pour mettre automatiquement le login puis le password?
Merci
Je voudrai me connecter automatiquement sur un routeur:
!/bin/sh
telnet @iprouteur =>ça c'est ok
Mais aprés que faut-il faire pour mettre automatiquement le login puis le password?
Merci
Forum Programmation.shell script bash
Bonsoir,
Je n'arrive pas à faire fonctionner un fichier bash "test.sh"
#!/bin/bash
echo abc
La console ne reconnais pas '#!/bin/bash'
Mais quand j'execute directement à la console :
/bin/bash test.sh
le fichier s'exécute sans problème ('abc' s'affiche)
Quelqu'un connaît-il la raison de ce comportement.
merci
Phildes
Je n'arrive pas à faire fonctionner un fichier bash "test.sh"
#!/bin/bash
echo abc
La console ne reconnais pas '#!/bin/bash'
Mais quand j'execute directement à la console :
/bin/bash test.sh
le fichier s'exécute sans problème ('abc' s'affiche)
Quelqu'un connaît-il la raison de ce comportement.
merci
Phildes
Forum Programmation.shell daemon functions...
hello,
Je dois faire fonctionner une sonde du traffic réseau. Ce programme se compose de trois sous-programmes.
J'ai fais un script de démarrage et j'aimerais utiliser la fonction daemon pour lancer ces 3 "sous-programmes" sous un autre utilisateur.
seul un des trois se lance et sous l'utilisateur désiré.
le 2ème ne se lance qu'en root
et le troisième pas du tout ??
voici comment je lance celui qui fonctionne et je fais pareil pour les 2 autres :
daemon --user (…)
Je dois faire fonctionner une sonde du traffic réseau. Ce programme se compose de trois sous-programmes.
J'ai fais un script de démarrage et j'aimerais utiliser la fonction daemon pour lancer ces 3 "sous-programmes" sous un autre utilisateur.
seul un des trois se lance et sous l'utilisateur désiré.
le 2ème ne se lance qu'en root
et le troisième pas du tout ??
voici comment je lance celui qui fonctionne et je fais pareil pour les 2 autres :
daemon --user (…)
Forum Programmation.shell Correction formule avec sed
bonjour,
au sein d'une fonction, j'écris des lignes dans un fichier txt.
Cependant, le fichier a terme doit être traité sur une machine sous dos.
Donc je dois changer les terminaisons de ligne de LF vers CR+LF.
La sortie de ma fonction initialement était : (elle change les § en )
qui me donne des terminaison de ligne en LF.
Sur le site de sed, j'ai vu dans (…)
au sein d'une fonction, j'écris des lignes dans un fichier txt.
Cependant, le fichier a terme doit être traité sur une machine sous dos.
Donc je dois changer les terminaisons de ligne de LF vers CR+LF.
La sortie de ma fonction initialement était : (elle change les § en )
fonction()
{
....
echo "`echo "${Ligne}" | sed -e "s/§/\ /g"`"
}
qui me donne des terminaison de ligne en LF.
Sur le site de sed, j'ai vu dans (…)
Forum Programmation.shell Sortie standard
Bonjour a tous,
J'ai un petit probleme avec un script shell… le script appelle javac et lui ordonne de compiler une classe, puis il appelle les commandes jar et ftp.
Le tout fonctionne bien, a un detail pres :
- javac ne renvoie pas sa sortie au script. Tout ce que javac afficherait normalement a l'ecran n'est pas affiche par le script.
Ainsi, lorsque un fichier ne compile pas.. le script ne le montre pas.
Une idee ?
Forum Programmation.shell Variables
J aimerais dans un script pouvoir utiliser comme nom de variable le contenu d un variable tapée précédemment.
par exemple
je ne sais pas comment faire, ni si c'est possible.
Sinon un solution serait d'exécuter un sous script tel que:
mais je ne sais pas comment on fait marcher un sous-script
(…)
par exemple
read pomme #je tape 5
5=valeur #je mets une valeur dans la variable créé à partir de ce que j ai tapé
je ne sais pas comment faire, ni si c'est possible.
Sinon un solution serait d'exécuter un sous script tel que:
read plouf
echo $plouf=truc >tmp
sh tmp
mais je ne sais pas comment on fait marcher un sous-script
(…)
Forum Programmation.shell shh error " Can't open display "
Salut, quand j'ouvre une application depuis un terminal X sur ma session
j'ai le message " Can't open display " sous Suse je sais qu'il s'agissait
d'un problème de sécurité mais sous MDK 10.1 je n'y arrive pas
pourtant je le fais en SSH et j'ai bien les variables d'environement
setenv DISPLAY = nom:0.0 et xhost + sur ma machine, mais rien a faire ?
j'ai le message " Can't open display " sous Suse je sais qu'il s'agissait
d'un problème de sécurité mais sous MDK 10.1 je n'y arrive pas
pourtant je le fais en SSH et j'ai bien les variables d'environement
setenv DISPLAY = nom:0.0 et xhost + sur ma machine, mais rien a faire ?
Forum Programmation.shell question con sur le shell
Salut,
Je me rends bien compte de la betise de la question mais je galere...
je veux supprimer les fichiers png d'un répertoire sauf le 5.png sachant que les fichiers vont de 0.png jusqu'à n.png.
ceci ne fonctionne pas : rm -f [!5].png
Je me rends bien compte de la betise de la question mais je galere...
je veux supprimer les fichiers png d'un répertoire sauf le 5.png sachant que les fichiers vont de 0.png jusqu'à n.png.
ceci ne fonctionne pas : rm -f [!5].png
Forum Programmation.shell poids d'un repertoire
Bonjour,
une question bete : je ne me souviens plus de la commande pour voir le poids d'un repertoire...
merci
chbruno
une question bete : je ne me souviens plus de la commande pour voir le poids d'un repertoire...
merci
chbruno
Forum Programmation.shell Ecrire des espaces dans un fichier plat ?
Bonjour,
ma question est peut-etre totalement stupide, mais comme je viens de passer deja 2 jours a chercher...
Voila, je dois ecrire un fichier plat avec des lignes d'un certain nombre de caracteres a chaque fois.
Pour cela, je dois completer mes lignes avec des espaces.
Pour l'instant, je procede de la facon suivante:
Je genere mes lignes en concatenant dans une variable, puis je fais un echo $var vers mon_fichier_plat
Inconvenient, les espaces en fin de ligne ne sont (…)
ma question est peut-etre totalement stupide, mais comme je viens de passer deja 2 jours a chercher...
Voila, je dois ecrire un fichier plat avec des lignes d'un certain nombre de caracteres a chaque fois.
Pour cela, je dois completer mes lignes avec des espaces.
Pour l'instant, je procede de la facon suivante:
Je genere mes lignes en concatenant dans une variable, puis je fais un echo $var vers mon_fichier_plat
Inconvenient, les espaces en fin de ligne ne sont (…)
Forum Programmation.shell Script pour créer un répertoire de liens vers mes images
Bonjour, je viens d'essayer de créer un script pour récupérer toutes les images en provenance d'un dossier, quelque soit l'arborescence.
Ceci afin de les intégrer automatiquement dans les fonds d'écran "diaporama" de KDE.
J'ai par exemple un répertoire ~/images
dedans j'ai un répertoire films, un autre paysages, un autre informatique.
Je crée souvent des sous répertoires et je n'ai pas envie de penser systématiquement à intégrer les nouveaux sous-répertoires dans la liste des répertoires du diaporama.
Pour ça j'ai décidé (…)
Ceci afin de les intégrer automatiquement dans les fonds d'écran "diaporama" de KDE.
J'ai par exemple un répertoire ~/images
dedans j'ai un répertoire films, un autre paysages, un autre informatique.
Je crée souvent des sous répertoires et je n'ai pas envie de penser systématiquement à intégrer les nouveaux sous-répertoires dans la liste des répertoires du diaporama.
Pour ça j'ai décidé (…)
Forum Programmation.shell Mot de passes md5 MySQL vs /etc/shadow
Bonjour,
Je cherche à synchroniser de manière simple et transparente pour les utilisateurs une liste d'users stockée dans une base MySQL, avec username et password crypté avec la fonction md5 de mysql.
En gros, je vourais faire un script qui régulièrement rajouter les nouveaux user sur le système à partir des données de la base.
Comme le hash des mdp est dans les deux cas md5 je me dit que à priori ça doit être possible de les utiliser dans (…)
Je cherche à synchroniser de manière simple et transparente pour les utilisateurs une liste d'users stockée dans une base MySQL, avec username et password crypté avec la fonction md5 de mysql.
En gros, je vourais faire un script qui régulièrement rajouter les nouveaux user sur le système à partir des données de la base.
Comme le hash des mdp est dans les deux cas md5 je me dit que à priori ça doit être possible de les utiliser dans (…)
Forum Programmation.shell Sed ... je vais craquer
Bonjour
voila j'ai ma petite ligne sed qui est:
sed -e s/[hs]d[a-z]/${INSTALL_DISK}/g ${TARGET}/etc/lilo.conf
elle fonctionne bien, pas de problemes, je vois bien la modif sur mon écran (j'ose pas dire la sortie standard pour ce qui suit ...).
C'est bien jolie d'avoir la modificaition qui s'affiche à l'écran mais j'aimerais bien l'envoyer vers ${TARGET}/etc/lilo.conf. Donc je fais un:
sed -e s/[hs]d[a-z]/${INSTALL_DISK}/g ${TARGET}/etc/lilo.conf > ${TARGET}/etc/lilo.conf
Et la c'est le drame, plus rien dans ${TARGET}/etc/lilo.conf ... le fichier est vide ! Si (…)
voila j'ai ma petite ligne sed qui est:
sed -e s/[hs]d[a-z]/${INSTALL_DISK}/g ${TARGET}/etc/lilo.conf
elle fonctionne bien, pas de problemes, je vois bien la modif sur mon écran (j'ose pas dire la sortie standard pour ce qui suit ...).
C'est bien jolie d'avoir la modificaition qui s'affiche à l'écran mais j'aimerais bien l'envoyer vers ${TARGET}/etc/lilo.conf. Donc je fais un:
sed -e s/[hs]d[a-z]/${INSTALL_DISK}/g ${TARGET}/etc/lilo.conf > ${TARGET}/etc/lilo.conf
Et la c'est le drame, plus rien dans ${TARGET}/etc/lilo.conf ... le fichier est vide ! Si (…)
Forum Programmation.shell script pour récupérer l'arborescence d'un ftp et la recréer
Salut, je voudrais écrire un script qui me permettent de récupérer l'arborescence d'un ftp pour pouvoir créer automatiquement les bons répertoires.
Je m'explique. J'ai une Debian/sid et je m'amuse à tester Debian Gnu/Hurd.
Or sous le hurd, ma carte réseau n'est pas (encore) reconnue. Donc je récupére les paquets nécessaires sous Debian/sid et je les mets où y faut.
Au départ, j'ai récupéré le packages.gz que j''ai mis dans un répertoire /packages de ma partition destiné au Hurd.
Quand je (…)
Je m'explique. J'ai une Debian/sid et je m'amuse à tester Debian Gnu/Hurd.
Or sous le hurd, ma carte réseau n'est pas (encore) reconnue. Donc je récupére les paquets nécessaires sous Debian/sid et je les mets où y faut.
Au départ, j'ai récupéré le packages.gz que j''ai mis dans un répertoire /packages de ma partition destiné au Hurd.
Quand je (…)
Forum Programmation.shell tester la présence d'un cd vierge avant la gravure
Bonjour,
Je cherche à faire un script permettant l'automatisation de la gravure (avec cdrecord), mais ce qui me pose problème est le fait qu'il faille toujours qu'il y ait un disque vierge dans le graveur avant de lancer la gravure.
donc, en fait, je souhaite faire un script me permettant de tester la présence d'un disque vierge dans le graveur avant d'exécuter cdrecord :
Je cherche à faire un script permettant l'automatisation de la gravure (avec cdrecord), mais ce qui me pose problème est le fait qu'il faille toujours qu'il y ait un disque vierge dans le graveur avant de lancer la gravure.
donc, en fait, je souhaite faire un script me permettant de tester la présence d'un disque vierge dans le graveur avant d'exécuter cdrecord :
si la porte du graveur ouverte
alors retourne code 0;
sinon
si le disque est vierge
(…)
Forum Programmation.shell un peu plus compliquer
Tout d'abord merci pour vos reponse qui m'ont beaucoup aidée.
Et si au lieu d'affichier la variable dont on connais que le nom ou veux modifier sa valeur :
du genre :
#!/bin/bash
foo="foo"
[ true ] && var="foo"
#echo "\$$var"
#eval echo "\$$var"
#echo ${!var}
#si je veux mettre la valeur "bar" dans foo
$var="bar"
eval echo "\$$var"
Bon je sait ça marche pas, mais j'ai tester pas mal de truc et je trouve pas.
Bash'
Et si au lieu d'affichier la variable dont on connais que le nom ou veux modifier sa valeur :
du genre :
#!/bin/bash
foo="foo"
[ true ] && var="foo"
#echo "\$$var"
#eval echo "\$$var"
#echo ${!var}
#si je veux mettre la valeur "bar" dans foo
$var="bar"
eval echo "\$$var"
Bon je sait ça marche pas, mais j'ai tester pas mal de truc et je trouve pas.
Bash'
Forum Programmation.shell Petite question sur la programmation bash
Salut !
J'ai une question qui me hante depuis un petit bout de temps.
Voila mon probleme :
J'ai deux variables :
[code]
foo="foo"
bar="bar"
[/code]
Et dans mon script une autre variable va prendre comme valeur suivant certaines conditions le nom soit de la premiere variable soit de la seconde variable.
ex :
[code] [ "$machin" == "truc bidule" ] && var="foo" [/code]
Et dans la suite de mon code j'aimerais pouvoir affichier la valeur de la variable dont (…)
J'ai une question qui me hante depuis un petit bout de temps.
Voila mon probleme :
J'ai deux variables :
[code]
foo="foo"
bar="bar"
[/code]
Et dans mon script une autre variable va prendre comme valeur suivant certaines conditions le nom soit de la premiere variable soit de la seconde variable.
ex :
[code] [ "$machin" == "truc bidule" ] && var="foo" [/code]
Et dans la suite de mon code j'aimerais pouvoir affichier la valeur de la variable dont (…)
Forum Programmation.shell Probleme de log d'une commande
Bonjour tout le monde,
voila j'ai un petit probleme dans un de mes scripts, j'aimerais bien afficher une commande
et la logger en meme temps, pour verifier les erreurs.
J'ai essayer avec la commande 'tee' mais je n'est pas les erreurs.
Voici la ligne de mon script :
[code] nice -+19 $cmd | tee $log_tmp/error.log [/code]
Et dans celui-ci j'ai bien le resultat de la commande sauf les erreurs.
Et les options de cette commande ne sont pas super fournis.
(…)
voila j'ai un petit probleme dans un de mes scripts, j'aimerais bien afficher une commande
et la logger en meme temps, pour verifier les erreurs.
J'ai essayer avec la commande 'tee' mais je n'est pas les erreurs.
Voici la ligne de mon script :
[code] nice -+19 $cmd | tee $log_tmp/error.log [/code]
Et dans celui-ci j'ai bien le resultat de la commande sauf les erreurs.
Et les options de cette commande ne sont pas super fournis.
(…)
Forum Programmation.shell bash : renommer une liste de fichiers en NNNNN.jpg
Bonjour,
je veux renommer une liste de fichiers en une suite de nombres :
fichiers de départ :
20041001_12454501.jpg
20041001_12455201.jpg
...
20041204_08115510.jpg
ce que je veux :
000001.jpg
000002.jpg
....
000451.jpg
Voilà où j'en suis :
Pour info c'est pour graver un CD de photos JPG pour un lecteur DIVX
qui ne gère pas les noms de plus de 8 caractères, (…)
je veux renommer une liste de fichiers en une suite de nombres :
fichiers de départ :
20041001_12454501.jpg
20041001_12455201.jpg
...
20041204_08115510.jpg
ce que je veux :
000001.jpg
000002.jpg
....
000451.jpg
Voilà où j'en suis :
SEQ="0000001"
for IMAGE in `ls *`; do
mv -i $IMAGE $SEQ.jpg
#comment incrémenter SEQ comme il faut ??
done
Pour info c'est pour graver un CD de photos JPG pour un lecteur DIVX
qui ne gère pas les noms de plus de 8 caractères, (…)
Forum Programmation.shell Script pour lancer des commandes à distance via ssh
Bonsoir,
Je veux générer un script à partir d'un formulaire jsp, ce script doit faire la connexion à un hote distant et puis exécuter des regles de filtrage (iptables), de routage...
(ou dois-je stocker le script?)
Merci.
Je veux générer un script à partir d'un formulaire jsp, ce script doit faire la connexion à un hote distant et puis exécuter des regles de filtrage (iptables), de routage...
(ou dois-je stocker le script?)
Merci.
Forum Programmation.shell ln .profile .bashrc
Bash en mode "login shell" exécute le .profile et pas le .bashrc, et hors du mode "login shell", c'est l'inverse.
N'ayant pas l'utilité d'une distinction entre ces deux fichiers d'initialisation, je préfère avoir un seul fichier à maintenir.
J'ai vu sur internet que certaines personnes mettaient tout dans le .profile et faisant un ln -s .profile .bashrc
Je me suis dit que ce serait plus "propre" avec un lien dur et non un lien symbolique : ln .profile .bashrc
Cependant, (…)
N'ayant pas l'utilité d'une distinction entre ces deux fichiers d'initialisation, je préfère avoir un seul fichier à maintenir.
J'ai vu sur internet que certaines personnes mettaient tout dans le .profile et faisant un ln -s .profile .bashrc
Je me suis dit que ce serait plus "propre" avec un lien dur et non un lien symbolique : ln .profile .bashrc
Cependant, (…)
Forum Programmation.shell Pb de script bash avec lame
Bonjour,
Voila g un p'tit pb en script bash qui commence a me gavé serieux et dont je ne comprends pas l'erreur.
Je crée un script qui parcours recursivement les dossiers de mon disque dure a partir d'un dossier racine et qui recupere tous les chemins des music comme par exemple les .ra .wav .wma .ogg .raw etc ... et qui les convertit tous en mp3. Bref les path des musics sont mis dans un tablo puis convertit une a (…)
Voila g un p'tit pb en script bash qui commence a me gavé serieux et dont je ne comprends pas l'erreur.
Je crée un script qui parcours recursivement les dossiers de mon disque dure a partir d'un dossier racine et qui recupere tous les chemins des music comme par exemple les .ra .wav .wma .ogg .raw etc ... et qui les convertit tous en mp3. Bref les path des musics sont mis dans un tablo puis convertit une a (…)
Forum Programmation.shell lecture d'un fichier
Salut.
Je bloque sur un problème que je qualifierais de "à la noix".
Je dois lire un fichier, et extraire en des valeurs. Pour cela j'ai fait un truc du genre :
cat fichier | grep machin | while read ligne ; do variable=$(echo $ligne | sed 's/truc//') echo "dans la boucle variable == $variable" done echo "maintenant variable == $variable"Bon c'est un peu plus compliqué que ça mais ça suffit pour comprendre le problème. Evident d'ailleurs : ma (…)
Forum Programmation.shell Appliquer une commande sur plusieurs fichiers
Bonjour à tous,
J'essaie d'écrire un script qui convertit l'ensemble des images jpg d'un repertoire en diminuant la qualité.
Ma commande marche parfaitement sur un fichier.
J'ai trouvé ceci pour convertir l'ensemble des fichiers :
for i in *.jpg
do
convert $i...
done
Ca marche très bien sur des fichiers sans espace mais avec des espaces, ça plante.
Donc du coup je me suis lancé dans une autre voie mais je ne m'en sors pas.
La commande suivante me retourne (…)
J'essaie d'écrire un script qui convertit l'ensemble des images jpg d'un repertoire en diminuant la qualité.
Ma commande marche parfaitement sur un fichier.
J'ai trouvé ceci pour convertir l'ensemble des fichiers :
for i in *.jpg
do
convert $i...
done
Ca marche très bien sur des fichiers sans espace mais avec des espaces, ça plante.
Donc du coup je me suis lancé dans une autre voie mais je ne m'en sors pas.
La commande suivante me retourne (…)