salut tout le monde je cottoie ce site depuis peu et je suis débutant sous linux, je n'arrive pas a nommer mon probleme :
j'ai un disque dur externe sur lequelje sauvegarde toutes mes données importantes, pour cela j'utilise la commande cp -ruvf pour qu'il mette à jour toute les données
cependant j'aimerai regrouper tout cela dans un fichier qui execute toute les commande que je tape quotidiennement (et elle sont très longue), j'aimerai aussi savoirle nom exact de l'operation (…)
Forum Programmation.shell lancer un fichier .sh depuis un fichier .bat
Bjr
Je continus ds mon histoire.
Je cherche à lancer un .sh depuis un .bat.
Ds mon .sh j'ai le script suivant:
#!/bin/sh
mkdir `date +%A_%e_%B_%Y`
Ds mon .bat j'ai le script suivant
CALL script1.sh
Et donc lorsque je lance mon .bat ds une invitemsdos, mon fichier sh s'ouvre mais ne se lance pas.
Pourquoi
Merci d'avance.
Je continus ds mon histoire.
Je cherche à lancer un .sh depuis un .bat.
Ds mon .sh j'ai le script suivant:
#!/bin/sh
mkdir `date +%A_%e_%B_%Y`
Ds mon .bat j'ai le script suivant
CALL script1.sh
Et donc lorsque je lance mon .bat ds une invitemsdos, mon fichier sh s'ouvre mais ne se lance pas.
Pourquoi
Merci d'avance.
Forum Programmation.shell commande 'join' et index des champs
Voici un join récalcitrant, alors que pourtant, dixit 'man join' :
«Les champs en entrée sont séparés par un ou plusieurs blancs,
les blancs en début de ligne étant ignorés.»
Je souhaite joindre deux fichiers via le champ n°2 du premier et
le champ n°1 du second.
Dans le premier fichier (11185.CHGTS_ETATS), le séparateur entre les 2 premiers
champs est un groupe de trois espaces. Partout ailleurs, le séparateur est une
simple espace.
La commande suivante :
«Les champs en entrée sont séparés par un ou plusieurs blancs,
les blancs en début de ligne étant ignorés.»
Je souhaite joindre deux fichiers via le champ n°2 du premier et
le champ n°1 du second.
Dans le premier fichier (11185.CHGTS_ETATS), le séparateur entre les 2 premiers
champs est un groupe de trois espaces. Partout ailleurs, le séparateur est une
simple espace.
La commande suivante :
[bloup]# join -1 (…)
Forum Programmation.shell Cygwin commande shell
Bjr
J'ai une commande sous cygwin qui passe merveilleusement bien, par compte dés que je veux créer un fichier.bat, mon script ne passe pas.
Pourquoi? est ce que quelqu'un sait?
Ma commande sous cygwin est
mkdir `date +%A_%e`
Et dés que je mets cela dans un point bat, il me créer de repertoire complètement différent.
J'ai une commande sous cygwin qui passe merveilleusement bien, par compte dés que je veux créer un fichier.bat, mon script ne passe pas.
Pourquoi? est ce que quelqu'un sait?
Ma commande sous cygwin est
mkdir `date +%A_%e`
Et dés que je mets cela dans un point bat, il me créer de repertoire complètement différent.
Forum Programmation.shell lancement d'application par script cgi sous boa
Je travaille avec le serveur web boa et je souhaite lancer des applications à partir de scripts cgi, lancés eux même à partir de liens html situés sur les pages web de ce server.
Pour des applications simples, du type afficher "bonjour" cela marche facilement.
Pour des appli plus complexes, faisant appel a d'autres librairies ou executables, cela se corse.
En effet le cgi qui doit lancer une application en question fonctionne parfaitement si je le lance depuis le terminal (…)
Pour des applications simples, du type afficher "bonjour" cela marche facilement.
Pour des appli plus complexes, faisant appel a d'autres librairies ou executables, cela se corse.
En effet le cgi qui doit lancer une application en question fonctionne parfaitement si je le lance depuis le terminal (…)
Forum Programmation.shell Signaux
Bonjour;
Je cherche à comprendre deux points de la gestion des signaux en shell :
1 - pourquoi le script suivant peut-être interrompu "proprement" lorsqu'il est exécuté en foreground dans une console (par exemple avec le Ctrl+C, SIGINT) alors que depuis une console tierce, l'envoie d'un signal SIGINT est ignoré ? Est-ce lié à la gestion des tty ?
2 - pourquoi, enfin, un SIGKILL lancé depuis une autre console résulte dans l'arrêt du seul /bin/sh (le sleep restant en (…)
Je cherche à comprendre deux points de la gestion des signaux en shell :
1 - pourquoi le script suivant peut-être interrompu "proprement" lorsqu'il est exécuté en foreground dans une console (par exemple avec le Ctrl+C, SIGINT) alors que depuis une console tierce, l'envoie d'un signal SIGINT est ignoré ? Est-ce lié à la gestion des tty ?
2 - pourquoi, enfin, un SIGKILL lancé depuis une autre console résulte dans l'arrêt du seul /bin/sh (le sleep restant en (…)
Forum Programmation.shell Transfert de repertoire et fichier en NTFS
Bonjour,
Mon objectif ds un premier temps est de déplacer des fichiers d'un répertoire vers un autre, sachant que mon rep z:\ est en ntfs.
J'ai essayé ce script mais cela ne marche pas. Quelqu'un peut m'aider.
Merci d'vance.
Script:
chmod a+rwx
mv z:\Tmp\*.* c:\2\
Mon objectif ds un premier temps est de déplacer des fichiers d'un répertoire vers un autre, sachant que mon rep z:\ est en ntfs.
J'ai essayé ce script mais cela ne marche pas. Quelqu'un peut m'aider.
Merci d'vance.
Script:
chmod a+rwx
mv z:\Tmp\*.* c:\2\
Forum Programmation.shell if [je ne sais pas quoi mettre°; then
Bonjour,
Alors je me tourne vers vous car j'ai pas trop le temps d'apprendre les notion de shell ( a moins que je surréstime, j'ai quand même jeté un coup d'oeil à l'abs), pour un if , then.
J'ai fait un tous petit script pour connecter l'ordi:
#!/bin/sh
sudo /usr/sbin/startadsl ; fetchmail
Mais je voudrais rajouter mlnet. Donc mon .bashrc j'avais sa:
if [ `tty` == /dev/tty1 ]; then
echo -e '\E[37;44m'"\033[ mlnet -> 127.0.0.1:4080 !\033[0m"
nohup /home/jul/applis/mldonkey-distrib-2.7.3/mlnet &
Ce (…)
Alors je me tourne vers vous car j'ai pas trop le temps d'apprendre les notion de shell ( a moins que je surréstime, j'ai quand même jeté un coup d'oeil à l'abs), pour un if , then.
J'ai fait un tous petit script pour connecter l'ordi:
#!/bin/sh
sudo /usr/sbin/startadsl ; fetchmail
Mais je voudrais rajouter mlnet. Donc mon .bashrc j'avais sa:
if [ `tty` == /dev/tty1 ]; then
echo -e '\E[37;44m'"\033[ mlnet -> 127.0.0.1:4080 !\033[0m"
nohup /home/jul/applis/mldonkey-distrib-2.7.3/mlnet &
Ce (…)
Forum Programmation.shell script sous boa
J'utilise le serveur boa pour une application embarquée.
Je souhaite lancer une application depuis 1 cgi (codé en shell).
Lorsque que je compile un pgrm simple (afficher bonjour) il n'y a aucun problème mais lorsque je souhaite lancer l'executable de mon application embarquée (traitement d'images) depuis un page html, il y a des erreurs. Parcontre, si j'execute ce même cgi directement depuis la console, le programme est bien executé sans erreurs. Il n'y a donc pas d'erreur issu du programme. (…)
Je souhaite lancer une application depuis 1 cgi (codé en shell).
Lorsque que je compile un pgrm simple (afficher bonjour) il n'y a aucun problème mais lorsque je souhaite lancer l'executable de mon application embarquée (traitement d'images) depuis un page html, il y a des erreurs. Parcontre, si j'execute ce même cgi directement depuis la console, le programme est bien executé sans erreurs. Il n'y a donc pas d'erreur issu du programme. (…)
Forum Programmation.shell script en Bourne Shell
Salut ! je débute en Bourne shell, et je veux faire un script qui tire les fichiers du répertoire courant, en les rangeant dans des sous-répertoires en fonction de leur extension (le nom de chaque sous-répertoire étant l'extension des fichiers)
j'ai bien une vague idée sur la procédure à suivre (commande "grep" + méta-caractères) mais je bloque.
Pouvez-vous m'aider ?
j'ai bien une vague idée sur la procédure à suivre (commande "grep" + méta-caractères) mais je bloque.
Pouvez-vous m'aider ?
Forum Programmation.shell Extraction de chaînes de caractères
Bonjour,
Je développe un shell script qui récupère le résultat d'un formulaire web. Je voudrais ensuite extraire les valeurs saisies dans ce formulaire.
La chaîne de caractères reçue est de cette forme :
NomClient=blabla&Client1Menu1=toto&Client1Menu2=tata&Client1Menu3=tutu&Client2Menu1=&Client2Menu2=&Client3Menu1=&Client3Menu2=&Client4Menu1=
Selon le cas, les champs ClientxMenux sont renseignés ou non. Il faudrait que je récupère les valeurs de ces champs s'ils sont renseignés. De plus, le nombre de champs renseignés peut changer.
Avec awk 'BEGIN{FS="&"}{print $2 $3 $4}', je récupère bien les couples champs/valeurs qui sont (…)
Je développe un shell script qui récupère le résultat d'un formulaire web. Je voudrais ensuite extraire les valeurs saisies dans ce formulaire.
La chaîne de caractères reçue est de cette forme :
NomClient=blabla&Client1Menu1=toto&Client1Menu2=tata&Client1Menu3=tutu&Client2Menu1=&Client2Menu2=&Client3Menu1=&Client3Menu2=&Client4Menu1=
Selon le cas, les champs ClientxMenux sont renseignés ou non. Il faudrait que je récupère les valeurs de ces champs s'ils sont renseignés. De plus, le nombre de champs renseignés peut changer.
Avec awk 'BEGIN{FS="&"}{print $2 $3 $4}', je récupère bien les couples champs/valeurs qui sont (…)
Forum Programmation.shell Compter le nb d'occurence d'un caractere special dans un fichier
Bonjour,
je souhaite compter le nb de fois où un caractere spécifique est present dans un fichier plat.
Le caractere est le code ascii '02' et se situe en fin de ligne normalement.
J'utilise donc la regexp /(.*)\002$/ pour mon comptage.
En perl, le script suivant marche et me donne le resultat attendu:
[code]
#!/usr/bin/perl -w
$i = 0;
open(FH, "Mon_Fichier_A_Lire") or die "plop";
while ()
{
if ($_ =~ /(.*)\002$/)
{
$i++;
}
# print $_;
}
close (FH);
(…)
je souhaite compter le nb de fois où un caractere spécifique est present dans un fichier plat.
Le caractere est le code ascii '02' et se situe en fin de ligne normalement.
J'utilise donc la regexp /(.*)\002$/ pour mon comptage.
En perl, le script suivant marche et me donne le resultat attendu:
[code]
#!/usr/bin/perl -w
$i = 0;
open(FH, "Mon_Fichier_A_Lire") or die "plop";
while ()
{
if ($_ =~ /(.*)\002$/)
{
$i++;
}
# print $_;
}
close (FH);
(…)
Forum Programmation.shell filtrer des fichiers sur ksh
Bonjour à tous,
je viens de débuter avec ksh.
Je veux filtrer des fichiers en supprimant toute ligne contenant un mot clé. Les mots clé se trouvent dans un fichier qui contient ces règles d'exclusion.
Pour se faire j'ai utilisé les commandes sed et awk comme suit :
sed -e "/{awk '{ print $1 }' regles.txt/d }" fichierAfiltrer.txt
1) "/{awk '{ print $1 }' regles.txt/d }" : pour me retourner le 1er mot clé du fichier contenant les regles d'exclusion.
(…)
je viens de débuter avec ksh.
Je veux filtrer des fichiers en supprimant toute ligne contenant un mot clé. Les mots clé se trouvent dans un fichier qui contient ces règles d'exclusion.
Pour se faire j'ai utilisé les commandes sed et awk comme suit :
sed -e "/{awk '{ print $1 }' regles.txt/d }" fichierAfiltrer.txt
1) "/{awk '{ print $1 }' regles.txt/d }" : pour me retourner le 1er mot clé du fichier contenant les regles d'exclusion.
(…)
Forum Programmation.shell remplacer un caratère dans une variable?
Bonjour,
existe-t-il une fonction pour changer un caractère par un autre dans une variable?
exemple:
mail = test@test.com
j'aimerai changer le @ en /
résultat
mail = test/test.com
merci pour vos réponses
existe-t-il une fonction pour changer un caractère par un autre dans une variable?
exemple:
mail = test@test.com
j'aimerai changer le @ en /
résultat
mail = test/test.com
merci pour vos réponses
Forum Programmation.shell Problème avec "dump" ...
Bonjour à tous ...
J'essaye d'effectuer une sauvegarde de ma partition Linux avec dump sur un disque externe. La commande n'arrive pas à s'exécuter. Voici ce qui se passe :
linux:~ # dump -0AMuv -f /STOREX/linux/dump0 /dev/hda6
DUMP: Date of this level 0 dump: Sun Feb 12 19:03:49 2006
DUMP: Dumping /dev/hda6 (/) to /STOREX/linux/dump0
/dev/hda6: Bad magic number in super-block while opening filesystem
DUMP: The ENTIRE dump is aborted.
Y a-t-il vraiment un problème avec ma partition Linux (/dev/hda6) (…)
J'essaye d'effectuer une sauvegarde de ma partition Linux avec dump sur un disque externe. La commande n'arrive pas à s'exécuter. Voici ce qui se passe :
linux:~ # dump -0AMuv -f /STOREX/linux/dump0 /dev/hda6
DUMP: Date of this level 0 dump: Sun Feb 12 19:03:49 2006
DUMP: Dumping /dev/hda6 (/) to /STOREX/linux/dump0
/dev/hda6: Bad magic number in super-block while opening filesystem
DUMP: The ENTIRE dump is aborted.
Y a-t-il vraiment un problème avec ma partition Linux (/dev/hda6) (…)
Forum Programmation.shell Tester un connexion FTP
Bonjour,
Je reviens à nouveau vers vous car dans mes scripts fils ( toto.sh), je veux ouvrir une connexion FTP si je n'en ai pas déjà une, et s'il y en a déjà une, ben je ne fais rien.
Proposition qui ne fonctionne pas :(
#!/bin/ksh
GO=
VAR=`echo $GO | grep "Connected"`
if ! test -z GO -o [ "X$VAR" = "X" ]
then
GO=`ftp -nv <<
xxx
open "IP"
user "user" "password"
`
fi
( mes 2 flèches ont (…)
Je reviens à nouveau vers vous car dans mes scripts fils ( toto.sh), je veux ouvrir une connexion FTP si je n'en ai pas déjà une, et s'il y en a déjà une, ben je ne fais rien.
Proposition qui ne fonctionne pas :(
#!/bin/ksh
GO=
VAR=`echo $GO | grep "Connected"`
if ! test -z GO -o [ "X$VAR" = "X" ]
then
GO=`ftp -nv <<
xxx
open "IP"
user "user" "password"
`
fi
( mes 2 flèches ont (…)
Forum Programmation.shell bash: effacer un mot à gauche
hello
Je sais que la séquence ctrl w efface tout à gauche du curseur
je me suis aperçu que cette séquence "bloque" sur le caractère @
j'aimerai qu'il bloque sur le / ( voire tout autre caractère )
ex:
tail /var/log/message ^W
je souhaite que ctrl+w n'efface que 'message' et pas toute la ligne jusqu'à 'tail'
une idée ?
Je sais que la séquence ctrl w efface tout à gauche du curseur
je me suis aperçu que cette séquence "bloque" sur le caractère @
j'aimerai qu'il bloque sur le / ( voire tout autre caractère )
ex:
tail /var/log/message ^W
je souhaite que ctrl+w n'efface que 'message' et pas toute la ligne jusqu'à 'tail'
une idée ?
Forum Programmation.shell PID Père et fils: HELP
Bonjour,
J'aurais besoin d'un coup de main: je développe un script qui en appelle d'autres. Jusque là rien d'extraordinaire, le truc c'est que je crée dans le premier un fichier qui contient son pid, et je voudrais faire pareil pour les scripts appelés.
Et là je désespère.
Voici mon code du script principal tata.sh:
#!/bin/ksh
while true
do
. ./toto.sh $TRIG &
done
echo $! > tata.pid
------------------------------
Je voudrais
mettre le pid de chaque toto dans un fichier nommé (…)
J'aurais besoin d'un coup de main: je développe un script qui en appelle d'autres. Jusque là rien d'extraordinaire, le truc c'est que je crée dans le premier un fichier qui contient son pid, et je voudrais faire pareil pour les scripts appelés.
Et là je désespère.
Voici mon code du script principal tata.sh:
#!/bin/ksh
while true
do
. ./toto.sh $TRIG &
done
echo $! > tata.pid
------------------------------
Je voudrais
mettre le pid de chaque toto dans un fichier nommé (…)
Forum Programmation.shell Conversion d'heure en bash
Salut
Je souhaite récupérer l'"age" d'un process en secondes.
la commande ps -p 6232 -o etime|grep: me renvoie :
SS ou MM:SS ou HH:MM:SS
Me reste à convertir ce résultat en secondes
Mais pour la suite, je sens que je m'embarque dans une usine à gaz :
Mon idée est de faire une recherche de chaine et récupérer HH, MM et SS puis
ma_durée = 3600*HH + 60*MM + SS
Avez vous un truc plus simple et plus propre ?
(…)
Je souhaite récupérer l'"age" d'un process en secondes.
la commande ps -p 6232 -o etime|grep: me renvoie :
SS ou MM:SS ou HH:MM:SS
Me reste à convertir ce résultat en secondes
Mais pour la suite, je sens que je m'embarque dans une usine à gaz :
Mon idée est de faire une recherche de chaine et récupérer HH, MM et SS puis
ma_durée = 3600*HH + 60*MM + SS
Avez vous un truc plus simple et plus propre ?
(…)
Forum Programmation.shell faire un if or or or ??
Bonjour à tous,
je cherche à écrire en shell :
si toto nonégal à 0 ou à 23 ou à 24 alors
ecrire bonjour
sinon
ecrire erreur
fsi
j'ai essayé ca
if [ "$toto" -ne "0" -o "$toto" -ne "23" -o "$toto" -ne "24" ]; then
echo bonjour
else
echo erreur
fi
mais ca ne marche pas et je n'arrive pas a trouver une syntaxe correcte...
pourriez vous m'aider s'ilvouplait
merci ;)
je cherche à écrire en shell :
si toto nonégal à 0 ou à 23 ou à 24 alors
ecrire bonjour
sinon
ecrire erreur
fsi
j'ai essayé ca
if [ "$toto" -ne "0" -o "$toto" -ne "23" -o "$toto" -ne "24" ]; then
echo bonjour
else
echo erreur
fi
mais ca ne marche pas et je n'arrive pas a trouver une syntaxe correcte...
pourriez vous m'aider s'ilvouplait
merci ;)
Forum Programmation.shell Travailler sur une liste de fichier
J'ai une liste de fichier a recuperer puis a traiter
Apres un premier traitement par awk
j'arrive a une belle liste comme ca
fichier 1
...
fichier n
enfin du moins tant qu'il ne s'agit pas de traiter tout ca en shell
J'aimerais envoyer cette liste dans une boucle de type while
-
du genre while [ -w $i=(cmd qui donne la liste de fichier) ]
do
done
-
Le probleme est que je trouve pas la bonne methode pour (…)
Apres un premier traitement par awk
j'arrive a une belle liste comme ca
fichier 1
...
fichier n
enfin du moins tant qu'il ne s'agit pas de traiter tout ca en shell
J'aimerais envoyer cette liste dans une boucle de type while
-
du genre while [ -w $i=(cmd qui donne la liste de fichier) ]
do
done
-
Le probleme est que je trouve pas la bonne methode pour (…)
Forum Programmation.shell Ksh et manipulation de date
Bonjour tout le monde,
j'ai un problème que je n'arrive pas à résoudre en shell.
Je souhaiterais obtenir la date du jour J-1 (J étant aujourd'hui) c'est à dire obtenir la date de hier.
J'ai essayé avec la commande date et à priori il n'y pas ce genre de possibilité.
Je pense maintenant me tourner plutot vers awk pour calculer ceci, est-ce que vous auriez une idée pour résoudre mon problème ?
Merci d'avance
j'ai un problème que je n'arrive pas à résoudre en shell.
Je souhaiterais obtenir la date du jour J-1 (J étant aujourd'hui) c'est à dire obtenir la date de hier.
J'ai essayé avec la commande date et à priori il n'y pas ce genre de possibilité.
Je pense maintenant me tourner plutot vers awk pour calculer ceci, est-ce que vous auriez une idée pour résoudre mon problème ?
Merci d'avance
Forum Programmation.shell Problème avec les espaces
Bonjour,
J'ai fait un petit script pour sauver un peu d'espace pour mes photos:
J'ai fait un petit script pour sauver un peu d'espace pour mes photos:
#On fous tous les fichiers .jpg du répertoire courant dans une variable
fichiers=`ls -l | grep .jpg`
#Compteur qui servira pour choisir un fichier différent à chaque passage de la boucle.
compteur=0
#Nombre de fichiers .jpg dans le répertoire courant
nbfichiers=`ls -1 | grep .jpg | wc -l`
#Boucle qui prend le nom du fichier, le compresse et le fous dans le dossier compresse.
if [ (…)
Forum Programmation.shell Premier script Bash
Bonjour,
Je suis en train d'apprendre le Bash et je veux vous montrer ma première création utile: http://maximead.net:8080/bash/ppxr.sh .
Dites-moi ce que vous en pensez et pouvez-vous me dire comment activer l'auto-complétion lorsque l'utilisateur rentre le nom des deux fichiers? Avec read je ne sais pas comment faire...
Merci :)
Je suis en train d'apprendre le Bash et je veux vous montrer ma première création utile: http://maximead.net:8080/bash/ppxr.sh .
Dites-moi ce que vous en pensez et pouvez-vous me dire comment activer l'auto-complétion lorsque l'utilisateur rentre le nom des deux fichiers? Avec read je ne sais pas comment faire...
Merci :)
Forum Programmation.shell copier a l'identique un repertoire dont le nom possède un espace
Bonjour,
Je fais un script qui doit copier un répertoire. Mais avant de le copier je vérifie si le répertoire existe au non à la destination.
Mon problème est que certains de ces répertoires ont des espaces dans leur noms. Si quelqu'un a une idée.
Voici à quoi ressemble mon script pour le moment
path_source="/.../docs/" path_dest="/.../docscopie/" cd $path_source find -type d | sed s/./""/ | sed /^$/d > $path_dest/temprep.txt cd $path_dest cat