Re: télécharger une image iso debian à l'aide d'un script shell

2021-05-18 Par sujet Raphaël POITEVIN
Bernard Schoenacker  writes:

> wget -c -O ~/Images-Iso/$i
> http://ftp.iut-bm.univ-fcomte.fr/debian-cd/amd64/iso-cd/$i
> done
> grep xfce ~/Images-Iso/SHA512SUMS > ~/Images-Iso/$i.sha512
> sha512sum ~/Images-Iso/$i |tee ~/Images-Iso/$i.sha512
> cat ~/Images-Iso/$i.sha512 
>
> mon souhait serait d'améliorer pour vérifier la 
> disponibilité du miroir

Peut-être rajouter --spider à wget ?
-- 
Raphaël
www.leclavierquibave.fr



télécharger une image iso debian à l'aide d'un script shell

2021-05-18 Par sujet Bernard Schoenacker
Bonjour,

je recherche à figer un script qui facilite le
téléchargement d'une image iso à partir
d'un miroir, voici la base qui serait 
à amender :

sudo apt install -y pv curl unhtml

mkdir -p ~/Images-Iso

for i in SHA512SUMS  $(curl  
http://ftp.iut-bm.univ-fcomte.fr/debian-cd/current/amd64/iso-cd/  |unhtml |tail 
-8 | sed -e 's/iso/iso  /g' | awk '/xfce/ {print $1}')  
do
wget -c -O ~/Images-Iso/$i 
http://ftp.iut-bm.univ-fcomte.fr/debian-cd/amd64/iso-cd/$i
done
grep xfce ~/Images-Iso/SHA512SUMS > ~/Images-Iso/$i.sha512  
 
sha512sum ~/Images-Iso/$i |tee ~/Images-Iso/$i.sha512   
  
cat ~/Images-Iso/$i.sha512 

mon souhait serait d'améliorer pour vérifier la 
disponibilité du miroir

Merci pour votre aimable attention

Bien à vous

Bernard



Re: Lancer un script shell linux lors de la fermeture du terminal, avec la croix

2018-02-21 Par sujet Basile Starynkevitch



On 02/20/2018 06:48 PM, Raphaël POITEVIN wrote:

G2PC  writes:


Comment lancer un script shell linux lors de la fermeture du terminal,
avec la croix. ... ?

L’appeler dans .bash_logout ?


Moi j'aimerais comprendre pourquoi on veut faire ça. Je n'en vois pas la 
raison. Un emulateur de terminal peut
disparaître à tout moment (par exemple avec xkill), indépendamment du 
shell (ou du programme) qui y est executé.


Une possibilité (peut-être) serait de choisir puis configurer un window 
manager convenable pour ça.


A mon avis la question initiale est une instance de problème XY 
http://xyproblem.info/ et mériterait une motivation poussée.


Librement

--
Basile STARYNKEVITCH   == http://starynkevitch.net/Basile
opinions are mine only - les opinions sont seulement miennes
Bourg La Reine, France



Re: Lancer un script shell linux lors de la fermeture du terminal, avec la croix

2018-02-21 Par sujet Étienne Mollier


On 02/20/2018 06:48 PM, Raphaël POITEVIN wrote:
> G2PC  writes:
> 
>> Comment lancer un script shell linux lors de la fermeture du terminal,
>> avec la croix. ... ?
> 
> L’appeler dans .bash_logout ?
> 

Bonsoir,

L'approche est intéressante, mais ne marcherait pas dans le cas
concernant les terminaux quittés via la croix pour deux raisons.
La première est que la plupart des terminaux ne lancent pas par
défaut des shells de login, et la seconde est que, dans le cas
d'une utilisation dans un script de login, le .bash_logout n'est
appelé qu'a l'appel de la commande « exit ».

Ceci dit, c'était bien pensé.  :-)

La section « INVOCATION » du manuel de Bash est assez détaillée
à ce sujet :

   When an interactive login shell exits, or a non-interac‐
   tive login shell executes the exit builtin command, bash
   readsandexecutescommands   from   the   file
   ~/.bash_logout, if it exists.


Il est toujours intéressant de noter que les terminaux des
divers environnements de bureau peuvent être configurés pour
être des shells de login via une option à cocher dans les
préférences.  Pour le terminal XTerm, vous pouvez le lancer avec
l'option -ls.

La morale de cette histoire est que, c'est mal de fermer ses
terminaux avec la croix : si un programme en cours d'exécution
avait eu besoin de faire du ménage, il y a de grandes chances
pour qu'il faille repasser derrière faire le ménage à la mimine.
Gérer ce cas proprement au sein des programmes n'est pas simple.

À plus,
-- 
Étienne Mollier 



Re: Lancer un script shell linux lors de la fermeture du terminal, avec la croix

2018-02-20 Par sujet Raphaël POITEVIN
G2PC  writes:

> Comment lancer un script shell linux lors de la fermeture du terminal,
> avec la croix. ... ?

L’appeler dans .bash_logout ?
-- 
Raphaël



Re: Lancer un script shell linux lors de la fermeture du terminal, avec la croix

2018-02-18 Par sujet G2PC
Le 18/02/2018 à 21:19, Étienne Mollier a écrit :
> G2PC, le 2018-02-18 :
>> Oui, si je lance le script, un fichier est créé, contenant la
>> date.  Non, le fichier n'est pas créé lorsque je quitte le
>> terminal avec la croix. J'ai tenté de le fermer au bout d'une
>> minute, mais, la date est ajoutée dans le fichier texte au
>> lancement du script, pas à la fermeture de la fenêtre.
> De ce que vous décrivez, la fonction rattachée à l'évènement
> s'exécuterait donc dès la déclaration de la fonction ; il y a
> peut-être un bug dans votre essai.
>
> Voici un script qui m'a permis de faire des tests plus poussés
> pour simuler un installateur classique :
>
>   #!/bin/bash
>   set -e
>   set -v
>   
>   # Creating an installation directory with a unique name,
>   # to avoid concurrency issues.
>   INSTALLDIR="$(mktemp -d installdir.XX)"
>   
>   # Setting up cleanup of the installation directory on
>   # exit.  WARNING: do not use `cd` in the script, as
>   # INSTALLDIR is a relative path.
>   clean-installdir () {
>   rm -r "$INSTALLDIR"
>   }
>   trap clean-installdir EXIT
>   
>   # Installing...
>   printf "Installation in progress in %s\n" "$INSTALLDIR"
>   # The sleeping simulates the time it would take for a
>   # real installation to occur.  You can close the program
>   # in any way you wish, to do some tests, in this time
>   # frame.
>   sleep 10
>   
>   # Everything went well for the script
>   printf "%s\n" "Done."
>   
>   # Note that you should see execution of clean-installdir
>   # here, as the program is exiting.  :-)
>
> Si je ferme le programme à coup de , ou si je clos la
> fenêtre avec le raccourci clavier de mon gestionnaire de fenêtre,
> le répertoire d'installation est effacé.  Si je laisse le
> programme s'exécuter jusqu'au bout, c'est aussi le cas /sans/
> appeler explicitement la fonction ; ce qui, soit dit en passant,
> est cool.
>
> Si je ferme la fenêtre de mon terminal avec le programme xkill,
> le script reçoit un signal KILL impossible à capter.  Par
> conséquent, le répertoire d'installation reste présent à côté du
> script, et doit être effacé manuellement.  Il se peut que
> certains gestionnaires de fenêtres aient ce genre de comportement
> pour lutter contre les fenêtres récalcitrantes.  Je n'ai testé
> que dwm de mon côté, mais il y en a d'autres : xfwm4, metacity,
> kwin, awesome, fvwm, openbox, et j'en passe.
>
>
>> Si le script ne fini pas normalement, ce n'est pas trop grâve,
>> un dossier installeur restera présent dans le répertoire
>> utilisateur.  J'ai pu lire d'avantage, sur mktemp :
>> https://www.visionduweb.eu/wiki/index.php?title=Programmation_en_Shell_Bash_Linux#Cr.C3.A9er_un_fichier_temporaire_avec_mktemp
>> C'est une solution intéressante !
>>
>> Malgré tout, ma question reste posée, avec un exemple, si il est
>> possible de lancer un script au moment de la fermeture d'un
>> terminal, avec la croix.
>> C'est surement inutile, puisque d'autres possibilités comme
>> mktemp sont adaptées.
> Gardez la commande mktemp en tête, elle ne remplace pas le mécano
> avec trap, mais elle participe à régler les problèmes de
> concurrence mentionnés dans mon précédent courriel.
>
>
> À plus,

Ici, effectivement, le fichier va être nettoyé automatiquement à la fin
de l'installation, ou, immédiatement, quand je ferme le terminal avec la
croix.
C'est tout à fait ce que j'attendais comme retour, et, oui, ça
fonctionne plutôt bien.

Noter que, il faut bien lancer le script en bash, avec sh, ça ne
fonctionnera pas.

Je note également que certains tueurs de programmes pourront empêcher le
bon fonctionnement du script, si trap n'est pas appelé normalement.

Bonne soirée, bonne fin de week end.
Merci beaucoup pour l'exemple.




Re: Lancer un script shell linux lors de la fermeture du terminal, avec la croix

2018-02-18 Par sujet Étienne Mollier
G2PC, le 2018-02-18 :
> Oui, si je lance le script, un fichier est créé, contenant la
> date.  Non, le fichier n'est pas créé lorsque je quitte le
> terminal avec la croix. J'ai tenté de le fermer au bout d'une
> minute, mais, la date est ajoutée dans le fichier texte au
> lancement du script, pas à la fermeture de la fenêtre.

De ce que vous décrivez, la fonction rattachée à l'évènement
s'exécuterait donc dès la déclaration de la fonction ; il y a
peut-être un bug dans votre essai.

Voici un script qui m'a permis de faire des tests plus poussés
pour simuler un installateur classique :

#!/bin/bash
set -e
set -v

# Creating an installation directory with a unique name,
# to avoid concurrency issues.
INSTALLDIR="$(mktemp -d installdir.XX)"

# Setting up cleanup of the installation directory on
# exit.  WARNING: do not use `cd` in the script, as
# INSTALLDIR is a relative path.
clean-installdir () {
rm -r "$INSTALLDIR"
}
trap clean-installdir EXIT

# Installing...
printf "Installation in progress in %s\n" "$INSTALLDIR"
# The sleeping simulates the time it would take for a
# real installation to occur.  You can close the program
# in any way you wish, to do some tests, in this time
# frame.
sleep 10

# Everything went well for the script
printf "%s\n" "Done."

# Note that you should see execution of clean-installdir
# here, as the program is exiting.  :-)

Si je ferme le programme à coup de , ou si je clos la
fenêtre avec le raccourci clavier de mon gestionnaire de fenêtre,
le répertoire d'installation est effacé.  Si je laisse le
programme s'exécuter jusqu'au bout, c'est aussi le cas /sans/
appeler explicitement la fonction ; ce qui, soit dit en passant,
est cool.

Si je ferme la fenêtre de mon terminal avec le programme xkill,
le script reçoit un signal KILL impossible à capter.  Par
conséquent, le répertoire d'installation reste présent à côté du
script, et doit être effacé manuellement.  Il se peut que
certains gestionnaires de fenêtres aient ce genre de comportement
pour lutter contre les fenêtres récalcitrantes.  Je n'ai testé
que dwm de mon côté, mais il y en a d'autres : xfwm4, metacity,
kwin, awesome, fvwm, openbox, et j'en passe.


> Si le script ne fini pas normalement, ce n'est pas trop grâve,
> un dossier installeur restera présent dans le répertoire
> utilisateur.  J'ai pu lire d'avantage, sur mktemp :
> https://www.visionduweb.eu/wiki/index.php?title=Programmation_en_Shell_Bash_Linux#Cr.C3.A9er_un_fichier_temporaire_avec_mktemp
> C'est une solution intéressante !
>
> Malgré tout, ma question reste posée, avec un exemple, si il est
> possible de lancer un script au moment de la fermeture d'un
> terminal, avec la croix.
> C'est surement inutile, puisque d'autres possibilités comme
> mktemp sont adaptées.

Gardez la commande mktemp en tête, elle ne remplace pas le mécano
avec trap, mais elle participe à régler les problèmes de
concurrence mentionnés dans mon précédent courriel.


À plus,
-- 
Étienne Mollier 



Re: Lancer un script shell linux lors de la fermeture du terminal, avec la croix

2018-02-18 Par sujet G2PC
Le 18/02/2018 à 19:31, Étienne Mollier a écrit :
> last-exit () {
>   printf '%s\n' "$(date --rfc-2822)" > ~/.lastexit
>   }
>   trap last-exit EXIT

Bonsoir, et, merci pour le retour.
J'ai testé sur ma VM, mais, sans succès.

Oui, si je lance le script, un fichier est créé, contenant la date.
Non, le fichier n'est pas créé lorsque je quitte le terminal avec la
croix. J'ai tenté de le fermer au bout d'une minute, mais, la date est
ajoutée dans le fichier texte au lancement du script, pas à la fermeture
de la fenêtre.

Si le script ne fini pas normalement, ce n'est pas trop grâve, un
dossier installeur restera présent dans le répertoire utilisateur.
J'ai pu lire d'avantage, sur mktemp :
https://www.visionduweb.eu/wiki/index.php?title=Programmation_en_Shell_Bash_Linux#Cr.C3.A9er_un_fichier_temporaire_avec_mktemp
C'est une solution intéressante !

Malgré tout, ma question reste posée, avec un exemple, si il est
possible de lancer un script au moment de la fermeture d'un terminal,
avec la croix.
C'est surement inutile, puisque d'autres possibilités comme mktemp sont
adaptées.



Re: Lancer un script shell linux lors de la fermeture du terminal, avec la croix

2018-02-18 Par sujet Étienne Mollier
Bonjour,


> Comment lancer un script shell linux lors de la fermeture du
> terminal, avec la croix. ... ?

On peut potentiellement déjà avoir des problèmes dépendant de la
façon dont le gestionnaire de fenêtre utilisé ferme les fenêtres
avec la croix, s'il y a une croix...  :-)

Normalement, tous le font de manières à laisser le temps à
l'application d'exécuter des tâches de nettoyage avant de
quitter, mais on peut avoir des surprises, en particulier si un
signal SIGKILL, qui ne peut de toute façon pas être trap'é, est
lancé trop tôt...


> J'ai vu sur un forum qu'il serrait question d'utiliser SIGHUP.
>
> Je n'ai pas réussi à reproduire l'exemple proposé. ( appel de
> fonction "a" qui écrit correctement dans un fichier de logs ,
> trap "a" )

Effectivement d'après le manuel signal(7) ça aurait pu avoir du
sens :

   Signal Value Action   Comment
   ──
   SIGHUP1   TermHangup detected on controlling terminal
 or death of controlling process

Mais à l'usage, ça ne passe pas.  Il me semble que ce signal est
plutôt utilisé pour recharger la configuration des dæmons sans
avoir à les redémarrer, ou ce genre de chose, désormais.

Il pourrait néanmoins y avoir une solution.  Si le shell utilisé
est bash, alors il est possible de spécifier un pseudo signal
EXIT à la commande trap (pas SIGEXIT, ce n'est pas un signal
inter processus à proprement parler).  Le code suivant permet par
exemple d'enregistrer la dernière fermeture de shell (testé avec
le gestionnaire dwm en faisant l'équivalent d'un clic sur une
hypothétique croix) :

last-exit () {
printf '%s\n' "$(date --rfc-2822)" > ~/.lastexit
}
trap last-exit EXIT

L'explication détaillée à propos de EXIT (et de quelque signaux
bonus) est disponible dans le manuel de bash, ou bien en sortie
de la commande :

$ help trap
trap: trap [-lp] [[arg] signal_spec ...]
Trap signals and other events.

Defines and activates handlers to be run when the shell receives 
signals
or other conditions.
[...]
If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the 
shell.  If
[...]


Ça marche avec le bash de Debian Sid, je n'ai pas testé avec les
autres niveaux de Debian, donc je ne saurais dire si c'est une
solution éprouvée ou bien si c'est une nouveauté.  :-)


Une autre solution exploitant le fichier ~/.bash_logout aurait pu
être envisagée mais suppose que la fenêtre de terminal a été
lancée avec `bash -l` et non `bash` tout court, qui est une
commande par défaut usuelle.  De plus, le nettoyage
s'appliquerait à toute session utilisateur, et pas seulement dans
le contexte de votre script.


> J'aimerais pouvoir déclancher la suppression d'un dossier, si
> l'utilisateur de quitte pas mon script avec la commande EXIT du
> menu que j'ai créé.

Juste pour éviter les cafouillages, le EXIT que je mentionne est
une entité différente du EXIT de votre menu.

Soyez prudents avec les situations de concurrence également.
Qu'est ce qui se passe quand un terminal dans un autre contexte
est fermé avec la croix ? Est ce que ça va déclencher le script
de nettoyage ?  Est ce bienvenu ?  Et si le programme tourne dans
d'autres terminaux, comment se comporte le nettoyage ?...


À plus,
-- 
Étienne Mollier 



Lancer un script shell linux lors de la fermeture du terminal, avec la croix

2018-02-18 Par sujet G2PC
Comment lancer un script shell linux lors de la fermeture du terminal,
avec la croix. ... ?

J'ai vu sur un forum qu'il serrait question d'utiliser SIGHUP.

Je n'ai pas réussi à reproduire l'exemple proposé. ( appel de fonction
"a" qui écrit correctement dans un fichier de logs , trap "a" )


J'aimerais pouvoir déclancher la suppression d'un dossier, si
l'utilisateur de quitte pas mon script avec la commande EXIT du menu que
j'ai créé.



Re: problème de syntaxe avec un script shell

2018-01-03 Par sujet Sébastien NOBILI
Bonjour,

Le vendredi 29 décembre 2017 à 14:44, Daniel Caillibaud a écrit :
> Ça répond pas vraiment à la question, mais je trouve que mettre un pass
> sudo dans un script est une très mauvaise idée (ça revient à laisser
> traîner un accès root à un user +/- lambda, et à donner l'accès au compte
> de ce user à tous ceux qui peuvent lire ce script).

Tout d’accord avec ça.

> Il vaut mieux lister les commandes que ce user peut lancer dans
> un /etc/sudoers.d/userBidule (le mieux étant de lui préparer qq scripts,
> qu'il ne peut pas modifier, pour être sûr que ça ne fera que ce qu'il y a
> dans ces scripts, car lui donner les droits complets sur apt ou un autre
> binaire d'admin peut être inutilement risqué).
> 
> Par ex dans /home/bin/upgrade.sh (exécutable par le user mais pas
> modifiable) du
> 
> apt-get update
> apt-get upgrade -y
> 
> et dans /etc/sudoers.d/userBidule
> 
> Cmnd_Alias C_ADM=/home/bin/upgrade.sh,/home/bin/autreScript.sh
> userBidule ALL = (root) NOPASSWD:C_ADM

On peut aussi mettre des commandes avec arguments dans le fichier sudoers, ça
évite l’étape script (qui peut malgré tout être utile là puisqu’elle permettra
d’enchaîner les commandes) :

Cmnd_Alias C_ADM=/usr/bin/apt-get update,/usr/bin/apt-get upgrade -y
userBidule ALL = (root) NOPASSWD:C_ADM

Sébastien



Re: problème de syntaxe avec un script shell

2017-12-29 Par sujet Jean-Michel OLTRA

Bonjour,


Le vendredi 29 décembre 2017, Daniel Caillibaud a écrit...


> JMO> aptitude install cron-apt ?

> C'est assez dangereux, un service qui ne redémarre pas tout seul n'est pas
> si rare… (ou l'upgrade qui reste planté en cours de route à cause de
> dépendances qu'il n'arrive pas à résoudre).

Cron-apt ne fait pas l'upgrade tout seul. Du moins pas chez moi ni sur mes
serveurs. C'est juste une question de configuration. C'est une application
que j'utilise depuis des années et c'est très efficace.

Pour info, Icinga2 a également une fonction de surveillance des mises à jour.

-- 
jm



Re: problème de syntaxe avec un script shell

2017-12-29 Par sujet Francois Lafont
Bonjour,

On 12/29/2017 09:00 AM, Andre Majorel wrote:

>> pwd='le-bon-mot-de-passe'
>> printf '%sn' "$pwd" | sudo --stdin --prompt='' apt-get update --fix-missing
>> printf '%sn' "$pwd" | sudo --stdin --prompt='' apt-get upgrade -y
> 
> L'absence de backslash devant le "n" dans le premier argument de
> printf ne doit pas aider.

Le PO, dans son extrême désinvolture « copier-collesque », s'est fait
couillonner par son lien :


https://www.generation-nt.com/reponses/automatiser-sudo-avec-echo-read-entraide-4267483.html

où les « \n » sont devenus des « n ». Il n'y a donc pas de régression
comme c'était fortement suggéré, juste un simple problème d'interface
« chaise/clavier ».

À+

-- 
François Lafont



Re: problème de syntaxe avec un script shell

2017-12-29 Par sujet Daniel Caillibaud
Le 28/12/17 à 13:19, Bernard Schoenacker  a
écrit :
BS> bonjour,
BS> 
BS> il y a un peut plus d'une année je recherchais
BS> un moyen de faciliter la mise à jour d'un ordi
BS> sous linux et j'avais eu la bonne réponse ...
BS> 
BS> j'ai repris le même script et plus rien ne fonctionne :
BS> 
BS> pwd='le-bon-mot-de-passe'
BS> printf '%sn' "$pwd" | sudo --stdin --prompt='' apt-get update
BS> --fix-missing printf '%sn' "$pwd" | sudo --stdin --prompt='' apt-get
BS> upgrade -y
BS> 
BS> qui pourrais le déverminer ?

Ça répond pas vraiment à la question, mais je trouve que mettre un pass
sudo dans un script est une très mauvaise idée (ça revient à laisser
traîner un accès root à un user +/- lambda, et à donner l'accès au compte
de ce user à tous ceux qui peuvent lire ce script).

Il vaut mieux lister les commandes que ce user peut lancer dans
un /etc/sudoers.d/userBidule (le mieux étant de lui préparer qq scripts,
qu'il ne peut pas modifier, pour être sûr que ça ne fera que ce qu'il y a
dans ces scripts, car lui donner les droits complets sur apt ou un autre
binaire d'admin peut être inutilement risqué).

Par ex dans /home/bin/upgrade.sh (exécutable par le user mais pas
modifiable) du

apt-get update
apt-get upgrade -y

et dans /etc/sudoers.d/userBidule

Cmnd_Alias C_ADM=/home/bin/upgrade.sh,/home/bin/autreScript.sh
userBidule ALL = (root) NOPASSWD:C_ADM

userBidule pourra alors faire directement du `sudo /home/bin/upgrade.sh`
sans avoir de mot de passe à saisir.

-- 
Daniel

Le philosophe cherche des solutions aux problèmes et
ne trouve que des problèmes sans solutions. 
Sim



Re: problème de syntaxe avec un script shell

2017-12-29 Par sujet Daniel Caillibaud
Le 28/12/17 à 14:06, Jean-Michel OLTRA  a
écrit :

JMO> Bonjour,
JMO> 
JMO> 
JMO> Le jeudi 28 décembre 2017, Bernard Schoenacker a écrit...
JMO> 
JMO> 
JMO> > il y a un peut plus d'une année je recherchais
JMO> > un moyen de faciliter la mise à jour d'un ordi
JMO> > sous linux et j'avais eu la bonne réponse ...  
JMO> 
JMO> aptitude install cron-apt ?

C'est assez dangereux, un service qui ne redémarre pas tout seul n'est pas
si rare… (ou l'upgrade qui reste planté en cours de route à cause de
dépendances qu'il n'arrive pas à résoudre).

Je préfère apticron qui m'avertit des màj à faire (avec le changelog et
l'urgence) + un script maison que je lance manuellement pour surveiller que
tout s'est bien passé (et qui fait les updates partout où c'est nécessaire).

-- 
Daniel

Il faut savoir écouter le silence des urnes.
André Lajoinie (1988)



Re: problème de syntaxe avec un script shell

2017-12-29 Par sujet Andre Majorel
On 2017-12-28 13:19 +0100, Bernard Schoenacker wrote:

> il y a un peut plus d'une année je recherchais
> un moyen de faciliter la mise à jour d'un ordi
> sous linux et j'avais eu la bonne réponse ...
> 
> j'ai repris le même script et plus rien ne fonctionne :
> 
> pwd='le-bon-mot-de-passe'
> printf '%sn' "$pwd" | sudo --stdin --prompt='' apt-get update --fix-missing
> printf '%sn' "$pwd" | sudo --stdin --prompt='' apt-get upgrade -y

L'absence de backslash devant le "n" dans le premier argument de
printf ne doit pas aider.

Incidemment, il y a moyen de parvenir au même résultat sans
mettre le mot de passe de l'utilisateur dans un script.

-- 
André Majorel 
The Debian project must be praised for their efforts in fighting spam by
flooding spammers with email addresses, some of which are even bogus.



Re: problème de syntaxe avec un script shell

2017-12-28 Par sujet Jean-Michel OLTRA

Bonjour,


Le jeudi 28 décembre 2017, Bernard Schoenacker a écrit...


> il y a un peut plus d'une année je recherchais
> un moyen de faciliter la mise à jour d'un ordi
> sous linux et j'avais eu la bonne réponse ...

aptitude install cron-apt ?

-- 
jm



Re: problème de syntaxe avec un script shell

2017-12-28 Par sujet Belaïd
Bonjour,

Ça ne répondra pas à ta question mais,  pourquoi ne pas utilisé le script
apt qui est appelé par cron et qui est justement fait pour faciliter les
mises à jour ? Avec les bonnes variables dans le fichier de configuration
d'apt,  tu peux tous faire et facilement et tu es sur que ça survivra après
les mises à niveau d'une version du systeme à une autre

Le 28 déc. 2017 13:20, "Bernard Schoenacker" 
a écrit :

> bonjour,
>
> il y a un peut plus d'une année je recherchais
> un moyen de faciliter la mise à jour d'un ordi
> sous linux et j'avais eu la bonne réponse ...
>
> j'ai repris le même script et plus rien ne fonctionne :
>
> pwd='le-bon-mot-de-passe'
> printf '%sn' "$pwd" | sudo --stdin --prompt='' apt-get update --fix-missing
> printf '%sn' "$pwd" | sudo --stdin --prompt='' apt-get upgrade -y
>
>
> qui pourrais le déverminer ?
>
> sources du script :
>
> https://www.generation-nt.com/reponses/automatiser-sudo-
> avec-echo-read-entraide-4267483.html
>
> slt
> bernard
>
>


problème de syntaxe avec un script shell

2017-12-28 Par sujet Bernard Schoenacker
bonjour,

il y a un peut plus d'une année je recherchais
un moyen de faciliter la mise à jour d'un ordi
sous linux et j'avais eu la bonne réponse ...

j'ai repris le même script et plus rien ne fonctionne :

pwd='le-bon-mot-de-passe'
printf '%sn' "$pwd" | sudo --stdin --prompt='' apt-get update --fix-missing
printf '%sn' "$pwd" | sudo --stdin --prompt='' apt-get upgrade -y


qui pourrais le déverminer ?

sources du script :

https://www.generation-nt.com/reponses/automatiser-sudo-avec-echo-read-entraide-4267483.html

slt
bernard



Re :Re: Comment appuyer sur la touche espace avec un script shell

2017-09-04 Par sujet Andreï V . Fomitchev
Salut.
Sinon, dans un script, j'avais fait Echo ''o'' | scriptquiabesoinJe ne sais pas 
si cela peut fonctionner pour deux espaces

Envoyé depuis Yahoo Mail pour Android 
 
  Le sam., sept. 2, 2017 à 21:11, G2PC a écrit :   Le 
02/09/2017 à 17:18, Christophe Moille a écrit :
> startup_message off 
C'est parfait ! Merci !
Résolu.

  


Re: Comment appuyer sur la touche espace avec un script shell

2017-09-02 Par sujet G2PC
Le 02/09/2017 à 17:18, Christophe Moille a écrit :
> startup_message off 
C'est parfait ! Merci !
Résolu.



Re: Comment appuyer sur la touche espace avec un script shell

2017-09-02 Par sujet Christophe Moille
Le samedi 02 sept. 2017 à 17:00:42 (+0200), G2PC a écrit :
> Bonjour,
> 
> Je cherche comment appuyer sur la touche espace avec un script shell.
> 
> Quand j'utilise la commande screen, un message apparait qui demande
> d'appuyer 2 fois sur la touche espace.
> 
> J'aimerais pouvoir passer cela, avec un script, pour automatiser une
> installation et  un lancement dans une fenêtre screen.

Bonjour,

Je ne répond pas directement à la question mais il est possible
de définir le paramêtre startup_message dans les configurations de
screen pour ne pas afficher le message de licence au démarrage de
screen.

# Don't display the copyright page
  startup_message off   # default: on

-- 
Collaborer avec l'État, c'est comme manger des chips - quand on 
commence, on ne peut pas s'arrêter.
- Michelle Whitnack


signature.asc
Description: PGP signature


Comment appuyer sur la touche espace avec un script shell

2017-09-02 Par sujet G2PC
Bonjour,

Je cherche comment appuyer sur la touche espace avec un script shell.

Quand j'utilise la commande screen, un message apparait qui demande
d'appuyer 2 fois sur la touche espace.

J'aimerais pouvoir passer cela, avec un script, pour automatiser une
installation et  un lancement dans une fenêtre screen.



Re: Erreur "cp: opérande du fichier cible manquant" dans script shell [debutant]

2012-07-19 Par sujet Hugues MORIN
Salut

Merci a tous pour vos reponses et votre aide :D

Je pense que ca me sera tres utile, tres bientot

Cordialement
Hugues





Le 17 juillet 2012 11:57, Daniel Huhardeaux  a écrit :

> Bonjour
>
> Le 17/07/2012 11:04, Hugues MORIN a écrit :
>
> [...]
>
>
>
>> Par contre, j'ai un peu de mal a comprendre la subtilite sur "[ expr1 ]
>> && [ expr2]" et "[ expr1 -a expr2 ]"
>>
>> Daniel: "Ce n'est pas la même chose. Le premier exemple dit "expr2 est
>> réalisée si expr1 est vrai". Le second exemple dit "si expr1 ET expr2 sont
>> vrais"
>>
>> Seb:"action2 n'est entreprise que si action1 se termine correctement,
>> mais ce sont des actions et il peut être dommageable d'exécuter action2 si
>> action1 ne se passe pas bien."
>>
>> Je pensais que ces 2 syntaxes etaient equivalentes.
>>
>
> Non
>
>
>
>> Si j'ai bien compris vos propos alors dans le cas de la 1er syntaxe, [
>> expr1 ] est evalue, si le resultat est "faux" alors le test "[ expr1 ] && [
>> expr2]" est stoppe et renvoi "faux" comme resultat, et cela sans que  [
>> expr2 ] est ete evalue.
>>
>
> Oui, mais le renvoi "faux" me dérange car expr peut être une commande,
> c'est donc la sortie de cette commande qui sera analysée. Il faut voir cela
> comme "si expr1 est évaluée/exécutée et que le résultat est vrai/sans
> erreur alors expr2 est évaluée/exécutée"
>
>
>
>> Dans le cas de la 2eme syntaxe,  [ expr1 ] est evalue,  [ expr2 ] est
>> evalue, et ensuite le test "[ expr1 -a expr2 ]" est evalue pour donne un
>> resultat.
>>
>
> Même pas: si expr1 est faux expr2 n'est même pas évaluée/exécutée.
>
>
>> Est ce bien cela?
>>
>
> Maintenant oui ;-)
>
>
>> C'est vrai que dans le cas ou "expr1" ou "expr2" realise une action, de
>> connaitre cet difference peut etre tres utile.
>>
>
> Tout à fait.
>
>
>> C'est incontestable :)
>>
>> mais j'avoue préférer:
>> action1 && action2
>>
>> et
>>
>> [ expr1 -a expr2 ]
>> ou mieux
>> test expr1 -a expr2
>>
>> action2 n'est entreprise que si action1 se termine correctement,
>> mais ce sont des actions et il peut être dommageable d'exécuter
>> action2 si action1 ne se passe pas bien.
>>
>> En revanche pour un test, surtout complexe, je préfère n'utiliser
>> qu'une seule instance de test (ou [). Les tests n'étant
>> qu'arithmétiques il n'y a pas de "danger" à évaluer expr2 si expr1
>> est faux. Ça a l'avantage de lancer un seul processus au lieu de
>> deux (ou plus) et je perçois l'avantage comme celui d'un (joli)
>> "grep foo bar" par rapport à un (horrible) "cat bar | grep foo" :).
>>
>> D'ailleurs, je n'en ai pas la moindre idée mais ça ne m'étonnerait
>> pas que [ évalue un peu intelligemment et donc se passe
>> d'évaluations inutiles (faudrait zieuter le code source, le man
>> n'en parle pas)
>>
>> Cordialement
>> seb
>>
>> - Mail original -
>> De: "Daniel Huhardeaux" > <mailto:no-s...@tootai.net>>
>> À: 
>> debian-user-french@lists.**debian.org
>> 
>> <mailto:debian-user-french@**lists.debian.org
>> >
>>
>> Envoyé: Lundi 16 Juillet 2012 09:16:18
>> Objet: Re: Erreur "cp: opérande du fichier cible manquant" dans
>> script shell [debutant]
>>
>> Bonjour
>>
>> Le 16/07/2012 08:35, Sébastien MARQUE a écrit :
>> > Bonjour,
>> >
>> > oui, si ça me piquait les yeux c'est surtout parce que c'était
>> > difficile à lire (majuscules, pas d'espace, signes cabalistiques
>> > toussa toussa) :), après ce sont des goûts personnels qui
>> peuvent très
>> > bien ne pas être les plus judicieux:
>> >
>> > * je trouve les tests
>> > "[ expr1 ] && [ expr2]"
>> > moins élégants que
>> > "[ expr1 -a expr2 ]"
>>
>> Ce n'est pas la même chose. Le premier exemple dit "expr2 est réalisée
>> si expr1 est vrai". Le second exemple dit "si expr1 ET expr2 sont
>> vrais"
>>
>>

Re: Erreur "cp: opérande du fichier cible manquant" dans script shell [debutant]

2012-07-17 Par sujet Daniel Huhardeaux

Bonjour

Le 17/07/2012 11:04, Hugues MORIN a écrit :

[...]



Par contre, j'ai un peu de mal a comprendre la subtilite sur "[ expr1 
] && [ expr2]" et "[ expr1 -a expr2 ]"


Daniel: "Ce n'est pas la même chose. Le premier exemple dit "expr2 est 
réalisée si expr1 est vrai". Le second exemple dit "si expr1 ET expr2 
sont vrais"


Seb:"action2 n'est entreprise que si action1 se termine correctement, 
mais ce sont des actions et il peut être dommageable d'exécuter 
action2 si action1 ne se passe pas bien."


Je pensais que ces 2 syntaxes etaient equivalentes.


Non



Si j'ai bien compris vos propos alors dans le cas de la 1er syntaxe, [ 
expr1 ] est evalue, si le resultat est "faux" alors le test "[ expr1 ] 
&& [ expr2]" est stoppe et renvoi "faux" comme resultat, et cela sans 
que  [ expr2 ] est ete evalue.


Oui, mais le renvoi "faux" me dérange car expr peut être une commande, 
c'est donc la sortie de cette commande qui sera analysée. Il faut voir 
cela comme "si expr1 est évaluée/exécutée et que le résultat est 
vrai/sans erreur alors expr2 est évaluée/exécutée"




Dans le cas de la 2eme syntaxe,  [ expr1 ] est evalue,  [ expr2 ] est 
evalue, et ensuite le test "[ expr1 -a expr2 ]" est evalue pour donne 
un resultat.


Même pas: si expr1 est faux expr2 n'est même pas évaluée/exécutée.



Est ce bien cela?


Maintenant oui ;-)


C'est vrai que dans le cas ou "expr1" ou "expr2" realise une action, 
de connaitre cet difference peut etre tres utile.


Tout à fait.



C'est incontestable :)

mais j'avoue préférer:
action1 && action2

et

[ expr1 -a expr2 ]
ou mieux
test expr1 -a expr2

action2 n'est entreprise que si action1 se termine correctement,
mais ce sont des actions et il peut être dommageable d'exécuter
action2 si action1 ne se passe pas bien.

En revanche pour un test, surtout complexe, je préfère n'utiliser
qu'une seule instance de test (ou [). Les tests n'étant
qu'arithmétiques il n'y a pas de "danger" à évaluer expr2 si expr1
est faux. Ça a l'avantage de lancer un seul processus au lieu de
deux (ou plus) et je perçois l'avantage comme celui d'un (joli)
"grep foo bar" par rapport à un (horrible) "cat bar | grep foo" :).

D'ailleurs, je n'en ai pas la moindre idée mais ça ne m'étonnerait
pas que [ évalue un peu intelligemment et donc se passe
d'évaluations inutiles (faudrait zieuter le code source, le man
n'en parle pas)

Cordialement
seb

- Mail original -
De: "Daniel Huhardeaux" mailto:no-s...@tootai.net>>
À: debian-user-french@lists.debian.org
<mailto:debian-user-french@lists.debian.org>
Envoyé: Lundi 16 Juillet 2012 09:16:18
Objet: Re: Erreur "cp: opérande du fichier cible manquant" dans
script shell [debutant]

Bonjour

Le 16/07/2012 08:35, Sébastien MARQUE a écrit :
> Bonjour,
>
> oui, si ça me piquait les yeux c'est surtout parce que c'était
> difficile à lire (majuscules, pas d'espace, signes cabalistiques
> toussa toussa) :), après ce sont des goûts personnels qui
peuvent très
> bien ne pas être les plus judicieux:
>
> * je trouve les tests
> "[ expr1 ] && [ expr2]"
> moins élégants que
> "[ expr1 -a expr2 ]"

Ce n'est pas la même chose. Le premier exemple dit "expr2 est réalisée
si expr1 est vrai". Le second exemple dit "si expr1 ET expr2 sont
vrais"

--
Daniel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet
"unsubscribe"
vers debian-user-french-requ...@lists.debian.org
<mailto:debian-user-french-requ...@lists.debian.org>
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
<mailto:listmas...@lists.debian.org>
Archive: http://lists.debian.org/5003bfc2.6000...@tootai.net

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet
"unsubscribe"
vers debian-user-french-requ...@lists.debian.org
<mailto:debian-user-french-requ...@lists.debian.org>
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
<mailto:listmas...@lists.debian.org>
Archive:

http://lists.debian.org/1300833691.35769510.1342442227243.javamail.r...@zimbra33-e6.priv.proxad.net


Le 16 juillet 2012 14:37, <mailto:seb.mar...@free.fr>> a écrit :


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/50053719.3020...@tootai.net



Re: Erreur "cp: opérande du fichier cible manquant" dans script shell [debutant]

2012-07-17 Par sujet Hugues MORIN
Salut


Seb, merci pour tes remarques. :D

Moi aussi (malgre que ce soit moi qui l'est ecrit), ca me piquait les yeux
;-)
Au prochain script, j'appliquerai tes conseils.

Par contre, j'ai un peu de mal a comprendre la subtilite sur "[ expr1 ] &&
[ expr2]" et "[ expr1 -a expr2 ]"

Daniel: "Ce n'est pas la même chose. Le premier exemple dit "expr2 est
réalisée si expr1 est vrai". Le second exemple dit "si expr1 ET expr2 sont
vrais"

Seb:"action2 n'est entreprise que si action1 se termine correctement, mais
ce sont des actions et il peut être dommageable d'exécuter action2 si
action1 ne se passe pas bien."

Je pensais que ces 2 syntaxes etaient equivalentes.

Si j'ai bien compris vos propos alors dans le cas de la 1er syntaxe, [
expr1 ] est evalue, si le resultat est "faux" alors le test "[ expr1 ] && [
expr2]" est stoppe et renvoi "faux" comme resultat, et cela sans que  [
expr2 ] est ete evalue.

Dans le cas de la 2eme syntaxe,  [ expr1 ] est evalue,  [ expr2 ] est
evalue, et ensuite le test "[ expr1 -a expr2 ]" est evalue pour donne un
resultat.

Est ce bien cela?

C'est vrai que dans le cas ou "expr1" ou "expr2" realise une action, de
connaitre cet difference peut etre tres utile.



Cordialement
Hugues




Le 16 juillet 2012 14:37,  a écrit :

> C'est incontestable :)
>
> mais j'avoue préférer:
> action1 && action2
>
> et
>
> [ expr1 -a expr2 ]
> ou mieux
> test expr1 -a expr2
>
> action2 n'est entreprise que si action1 se termine correctement, mais ce
> sont des actions et il peut être dommageable d'exécuter action2 si action1
> ne se passe pas bien.
>
> En revanche pour un test, surtout complexe, je préfère n'utiliser qu'une
> seule instance de test (ou [). Les tests n'étant qu'arithmétiques il n'y a
> pas de "danger" à évaluer expr2 si expr1 est faux. Ça a l'avantage de
> lancer un seul processus au lieu de deux (ou plus) et je perçois l'avantage
> comme celui d'un (joli) "grep foo bar" par rapport à un (horrible) "cat bar
> | grep foo" :).
>
> D'ailleurs, je n'en ai pas la moindre idée mais ça ne m'étonnerait pas que
> [ évalue un peu intelligemment et donc se passe d'évaluations inutiles
> (faudrait zieuter le code source, le man n'en parle pas)
>
> Cordialement
> seb
>
> - Mail original -
> De: "Daniel Huhardeaux" 
> À: debian-user-french@lists.debian.org
> Envoyé: Lundi 16 Juillet 2012 09:16:18
> Objet: Re: Erreur "cp: opérande du fichier cible manquant" dans script
> shell [debutant]
>
> Bonjour
>
> Le 16/07/2012 08:35, Sébastien MARQUE a écrit :
> > Bonjour,
> >
> > oui, si ça me piquait les yeux c'est surtout parce que c'était
> > difficile à lire (majuscules, pas d'espace, signes cabalistiques
> > toussa toussa) :), après ce sont des goûts personnels qui peuvent très
> > bien ne pas être les plus judicieux:
> >
> > * je trouve les tests
> > "[ expr1 ] && [ expr2]"
> > moins élégants que
> > "[ expr1 -a expr2 ]"
>
> Ce n'est pas la même chose. Le premier exemple dit "expr2 est réalisée
> si expr1 est vrai". Le second exemple dit "si expr1 ET expr2 sont vrais"
>
> --
> Daniel
>
> --
> Lisez la FAQ de la liste avant de poser une question :
> http://wiki.debian.org/fr/FrenchLists
>
> Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
> vers debian-user-french-requ...@lists.debian.org
> En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
> Archive: http://lists.debian.org/5003bfc2.6000...@tootai.net
>
> --
> Lisez la FAQ de la liste avant de poser une question :
> http://wiki.debian.org/fr/FrenchLists
>
> Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
> vers debian-user-french-requ...@lists.debian.org
> En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
> Archive:
> http://lists.debian.org/1300833691.35769510.1342442227243.javamail.r...@zimbra33-e6.priv.proxad.net
>
>


Re: Erreur "cp: opérande du fichier cible manquant" dans script shell [debutant]

2012-07-16 Par sujet seb . marque
C'est incontestable :)

mais j'avoue préférer:
action1 && action2

et 

[ expr1 -a expr2 ]
ou mieux
test expr1 -a expr2

action2 n'est entreprise que si action1 se termine correctement, mais ce sont 
des actions et il peut être dommageable d'exécuter action2 si action1 ne se 
passe pas bien.

En revanche pour un test, surtout complexe, je préfère n'utiliser qu'une seule 
instance de test (ou [). Les tests n'étant qu'arithmétiques il n'y a pas de 
"danger" à évaluer expr2 si expr1 est faux. Ça a l'avantage de lancer un seul 
processus au lieu de deux (ou plus) et je perçois l'avantage comme celui d'un 
(joli) "grep foo bar" par rapport à un (horrible) "cat bar | grep foo" :). 

D'ailleurs, je n'en ai pas la moindre idée mais ça ne m'étonnerait pas que [ 
évalue un peu intelligemment et donc se passe d'évaluations inutiles (faudrait 
zieuter le code source, le man n'en parle pas)

Cordialement
seb

- Mail original -
De: "Daniel Huhardeaux" 
À: debian-user-french@lists.debian.org
Envoyé: Lundi 16 Juillet 2012 09:16:18
Objet: Re: Erreur "cp: opérande du fichier cible manquant" dans script shell 
[debutant]

Bonjour

Le 16/07/2012 08:35, Sébastien MARQUE a écrit :
> Bonjour,
>
> oui, si ça me piquait les yeux c'est surtout parce que c'était 
> difficile à lire (majuscules, pas d'espace, signes cabalistiques 
> toussa toussa) :), après ce sont des goûts personnels qui peuvent très 
> bien ne pas être les plus judicieux:
>
> * je trouve les tests
> "[ expr1 ] && [ expr2]"
> moins élégants que
> "[ expr1 -a expr2 ]"

Ce n'est pas la même chose. Le premier exemple dit "expr2 est réalisée 
si expr1 est vrai". Le second exemple dit "si expr1 ET expr2 sont vrais"

-- 
Daniel

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/5003bfc2.6000...@tootai.net

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: 
http://lists.debian.org/1300833691.35769510.1342442227243.javamail.r...@zimbra33-e6.priv.proxad.net



Re: Erreur "cp: opérande du fichier cible manquant" dans script shell [debutant]

2012-07-16 Par sujet Daniel Huhardeaux

Bonjour

Le 16/07/2012 08:35, Sébastien MARQUE a écrit :

Bonjour,

oui, si ça me piquait les yeux c'est surtout parce que c'était 
difficile à lire (majuscules, pas d'espace, signes cabalistiques 
toussa toussa) :), après ce sont des goûts personnels qui peuvent très 
bien ne pas être les plus judicieux:


* je trouve les tests
"[ expr1 ] && [ expr2]"
moins élégants que
"[ expr1 -a expr2 ]"


Ce n'est pas la même chose. Le premier exemple dit "expr2 est réalisée 
si expr1 est vrai". Le second exemple dit "si expr1 ET expr2 sont vrais"


--
Daniel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/5003bfc2.6000...@tootai.net



Re: Erreur "cp: opérande du fichier cible manquant" dans script shell [debutant]

2012-07-15 Par sujet Sébastien MARQUE

Bonjour,

oui, si ça me piquait les yeux c'est surtout parce que c'était difficile 
à lire (majuscules, pas d'espace, signes cabalistiques toussa toussa) 
:), après ce sont des goûts personnels qui peuvent très bien ne pas être 
les plus judicieux:


* je trouve les tests
"[ expr1 ] && [ expr2]"
moins élégants que
"[ expr1 -a expr2 ]"

* les incrémentations
"i=$(($i+1))"
sont facilement remplaçables par des
"let i++" ou "let 'i += 1'"

* je préfère les boucles
"for (( i = 0; ; i++ )); do ... [ ! -e ${CHEMIN[$i} ] && break; done" aux
"i=0; while [ -e ${CHEMIN[$i]} ]; do ... i=$(($i+1)); done",
bien que c'est vrai que dans ce cas for ne peut pas évaluer de test non 
arithmétique ni faire appel à une fonction, d'où le "[ ! test ] && 
break", mais d'un autre côté initialisation et incrémentation sont fait 
par une même instruction.


* enfin puisqu'on est dans un fichier et qu'on est pas à quelques octets 
près:

"cp -p"
peut aussi s'écrire
"cp --preserve=mode,ownership,timestamps"
de mettre les version longues des options permet de mieux voir ce qui 
est fait, et si tu mets la commande longue dans une variable ça éclaire 
encore mieux.


voilà c'est tout :)

et aussi merci car j'avais jamais fait attention que l'indexation de 
tableau pouvait se faire sans passer par les substitutions.


Cordialement.
seb

Le 13/07/2012 15:09, Hugues MORIN a écrit :

Bonjour

J'ai trouve l'erreur, a la place d'ecrire:
cp -b -p --suffix=.bak
/home/user/public_html/alpha/www/includes/languages/english/password_forgotten.php
/home/user/public_html/beta/www/includes/languages/english

Suite a une erreur "d'encodage", il ecrivait:
cp -b -p --suffix=.bak /home/
user /public_html/alpha/www/includes/languages/english/password_forgotten.php
/home/user/public_html/beta/www/includes/languages/english

A priori, pour un tableau, il n'est pas necessaire de mettre le $
dans  '${DEV_VER[k]}' .
Sa fonctionne sans. o_O
Mais je ne sais si sa fonctionne juste par hasard ou si c'est le
comportement normal.

Question subsidiaire:
Sebastien, c'est juste parce qu'il est "visuellement" tres charge que ca
pique les yeux :D ou alors parce qu'il est trop lourd ou trop archaique?
Comme je l'ai marque en objet, c'est mon 1er script don je suppose qu'il y
a des trucs a ameliorer mais quoi?


Cordialement
Hugues

PS: le code du script (nettoye des commentaires) qui fonctionne:

#!/bin/bash
# Copy alpha version language file to beta and production
# only 1 argument: alpha version language file must be copy
# TUTO: http://doc.ubuntu-fr.org/tutoriel/script_shell

echo "Treatment..."

BASE_FOLDER=/home/user/public_html/
LANG_FOLDER=/includes/languages/
DEV_VER=("alpha" "beta" "production")
LANGUE=("english" "espanol" "french" "italian")
SITE=("www" "www2")
i=0
cpt=1

while [ -d $BASE_FOLDER${DEV_VER[0]}/${SITE[i]} ]&&  [ $i -lt ${#SITE[*]} ]
do
j=0
while [ -f $BASE_FOLDER${DEV_VER[0]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}/$1
]&&  [ $j -lt ${#LANGUE[*]} ]
do
k=1
while [ -d $BASE_FOLDER${DEV_VER[k]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]} ]
&&  [ $k -lt ${#DEV_VER[*]} ]
do
echo "copy from "${DEV_VER[0]}/${SITE[i]}"..."${LANGUE[j]}/$1" to
"${DEV_VER[k]}/${SITE[i]}...${LANGUE[j]}
cp -b -p --suffix=.bak
$BASE_FOLDER${DEV_VER[0]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}/$1
$BASE_FOLDER${DEV_VER[k]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}
k=$(($k+1))
done
j=$(($j+1))
done
i=$(($i+1))
done

exit 0


Le 13 juillet 2012 08:13, Sébastien MARQUE  a écrit :


Bonjour,

tout l'info est dans le message d'erreur: "opérande du fichier cible
manquant", il manque la destination.

La raison est simple: entre les larmes qui me brouillent la vue en voyant
ton algo ;), j'ai pu discerner des choses du genre '${DEV_VER[k]}', ce qui
ne va pas renvoyer grand chose dans ton cas.

En bash on "expand" les variables. La lettre 'k' a donc pour valeur 'k',
et $k (ou ${k}) a pour valeur le contenu de la variable k.

${DEV_VER[$k]} ou ${DEV_VER[${k}]} donneront un résultat plus conforme à
ce que tu attends.

Cordialement.
seb

Le 12/07/2012 18:52, Hugues MORIN a écrit :

  Bonjour


Voila je fais mes premiers pas dans le script shell.
Pour m'entrainer j'ai fait un script qui est sense copier des fichiers
vers
d'autres emplacements en leur gardant les memes proprietaires et droits,
ainsi que creer une copie de sauvegarde du fichier cible.

Si ce n'ai que pour moi c'est une nouvelle syntaxe, il n'y a pas de grande
difficulte.
Neanmoins, j'ai l'erreur suivante a chaque "cp&

Re: Erreur "cp: opérande du fichier cible manquant" dans script shell [debutant]

2012-07-15 Par sujet Hugues MORIN
Salut

Merci pour l'astuce, ca va me simplifier les choses.

Pour info (pour ceux qui lirons ce post en archive), le -vx est d'autres
methodes de debuggage sont exliquees la:
http://wiki.bash-hackers.org/scripting/debuggingtips

Cordialement
Hugues






Le 15 juillet 2012 09:49, Basile Starynkevitch  a
écrit :

> On Thu, 12 Jul 2012 18:52:26 +0200
> Hugues MORIN  wrote:
>
> > Bonjour
> >
> > Voila je fais mes premiers pas dans le script shell.
> > Pour m'entrainer j'ai fait un script qui est sense copier des fichiers
> vers
> > d'autres emplacements en leur gardant les memes proprietaires et droits,
> > ainsi que creer une copie de sauvegarde du fichier cible.
>
>
> Un conseil pour déboguer un script shell: Mettre le temps du déboguage les
> options v et x
> dans la première ligne, cad #!/bin/bash -vx
>
> Note aussi que le shell posix /bin/sh est différent du bash.
>
>
> Cordialement
>
> --
> Basile STARYNKEVITCH http://starynkevitch.net/Basile/
> email: basilestarynkevitchnet mobile: +33 6 8501 2359
> 8, rue de la Faiencerie, 92340 Bourg La Reine, France
> *** opinions {are only mine, sont seulement les miennes} ***
>


Re: Erreur "cp: opérande du fichier cible manquant" dans script shell [debutant]

2012-07-15 Par sujet Basile Starynkevitch
On Thu, 12 Jul 2012 18:52:26 +0200
Hugues MORIN  wrote:

> Bonjour
> 
> Voila je fais mes premiers pas dans le script shell.
> Pour m'entrainer j'ai fait un script qui est sense copier des fichiers vers
> d'autres emplacements en leur gardant les memes proprietaires et droits,
> ainsi que creer une copie de sauvegarde du fichier cible.


Un conseil pour déboguer un script shell: Mettre le temps du déboguage les 
options v et x
dans la première ligne, cad #!/bin/bash -vx

Note aussi que le shell posix /bin/sh est différent du bash.


Cordialement

-- 
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basilestarynkevitchnet mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mine, sont seulement les miennes} ***

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: 
http://lists.debian.org/20120715094928.01b597f1f6cfa290c43cb...@starynkevitch.net



Re: Erreur "cp: opérande du fichier cible manquant" dans script shell [debutant]

2012-07-13 Par sujet Hugues MORIN
Bonjour

J'ai trouve l'erreur, a la place d'ecrire:
cp -b -p --suffix=.bak
/home/user/public_html/alpha/www/includes/languages/english/password_forgotten.php
/home/user/public_html/beta/www/includes/languages/english

Suite a une erreur "d'encodage", il ecrivait:
cp -b -p --suffix=.bak /home/
user /public_html/alpha/www/includes/languages/english/password_forgotten.php
/home/user/public_html/beta/www/includes/languages/english

A priori, pour un tableau, il n'est pas necessaire de mettre le $
dans  '${DEV_VER[k]}' .
Sa fonctionne sans. o_O
Mais je ne sais si sa fonctionne juste par hasard ou si c'est le
comportement normal.

Question subsidiaire:
Sebastien, c'est juste parce qu'il est "visuellement" tres charge que ca
pique les yeux :D ou alors parce qu'il est trop lourd ou trop archaique?
Comme je l'ai marque en objet, c'est mon 1er script don je suppose qu'il y
a des trucs a ameliorer mais quoi?


Cordialement
Hugues

PS: le code du script (nettoye des commentaires) qui fonctionne:

#!/bin/bash
# Copy alpha version language file to beta and production
# only 1 argument: alpha version language file must be copy
# TUTO: http://doc.ubuntu-fr.org/tutoriel/script_shell

echo "Treatment..."

BASE_FOLDER=/home/user/public_html/
LANG_FOLDER=/includes/languages/
DEV_VER=("alpha" "beta" "production")
LANGUE=("english" "espanol" "french" "italian")
SITE=("www" "www2")
i=0
cpt=1

while [ -d $BASE_FOLDER${DEV_VER[0]}/${SITE[i]} ] && [ $i -lt ${#SITE[*]} ]
do
j=0
while [ -f $BASE_FOLDER${DEV_VER[0]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}/$1
] && [ $j -lt ${#LANGUE[*]} ]
do
k=1
while [ -d $BASE_FOLDER${DEV_VER[k]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]} ]
&& [ $k -lt ${#DEV_VER[*]} ]
do
echo "copy from "${DEV_VER[0]}/${SITE[i]}"..."${LANGUE[j]}/$1" to
"${DEV_VER[k]}/${SITE[i]}...${LANGUE[j]}
cp -b -p --suffix=.bak
$BASE_FOLDER${DEV_VER[0]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}/$1
$BASE_FOLDER${DEV_VER[k]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}
k=$(($k+1))
done
j=$(($j+1))
done
i=$(($i+1))
done

exit 0


Le 13 juillet 2012 08:13, Sébastien MARQUE  a écrit :

> Bonjour,
>
> tout l'info est dans le message d'erreur: "opérande du fichier cible
> manquant", il manque la destination.
>
> La raison est simple: entre les larmes qui me brouillent la vue en voyant
> ton algo ;), j'ai pu discerner des choses du genre '${DEV_VER[k]}', ce qui
> ne va pas renvoyer grand chose dans ton cas.
>
> En bash on "expand" les variables. La lettre 'k' a donc pour valeur 'k',
> et $k (ou ${k}) a pour valeur le contenu de la variable k.
>
> ${DEV_VER[$k]} ou ${DEV_VER[${k}]} donneront un résultat plus conforme à
> ce que tu attends.
>
> Cordialement.
> seb
>
> Le 12/07/2012 18:52, Hugues MORIN a écrit :
>
>  Bonjour
>>
>> Voila je fais mes premiers pas dans le script shell.
>> Pour m'entrainer j'ai fait un script qui est sense copier des fichiers
>> vers
>> d'autres emplacements en leur gardant les memes proprietaires et droits,
>> ainsi que creer une copie de sauvegarde du fichier cible.
>>
>> Si ce n'ai que pour moi c'est une nouvelle syntaxe, il n'y a pas de grande
>> difficulte.
>> Neanmoins, j'ai l'erreur suivante a chaque "cp" executes:
>>
>> cp: opérande du fichier cible manquant apres
>> `/home//password_**forgotten.php'
>> Pour en savoir davantage, faites: " cp --help ".
>>
>> J'ai biensur cherche dans le man et sur mon ami google, mais j'ai rien
>> trouve qui resolve mon probleme.
>> Si je passe le "cp" manuellement en ligne de commande, cela fonctionne O_o
>>
>> Voici le script:
>>
>> #!/bin/bash
>> # Copy alpha version language file to beta and production
>> # only 1 argument: alpha version language file must be copy
>> # TUTO: 
>> http://doc.ubuntu-fr.org/**tutoriel/script_shell<http://doc.ubuntu-fr.org/tutoriel/script_shell>
>>
>> echo "Treatment..."
>>
>> BASE_FOLDER=/home/user/public_**html/
>> LANG_FOLDER=/includes/**languages/
>> DEV_VER=("alpha" "beta" "production")
>> LANGUE=("english" "espanol" "french" "italian")
>> SITE=("www" "www2")
>> i=0
>> cpt=1
>>
>> while [ -d $BASE_FOLDER${DEV_VER[0]}/${**SITE[i]} ]&&  [ $i -lt
>> ${#SITE[*]} ]
>> do
>> #echo "test 1 ok - "$i" - "${DEV_VER[0]}/${SITE[i]}
>> j=0
&g

Re: Erreur "cp: opérande du fichier cible manquant" dans script shell [debutant]

2012-07-12 Par sujet Sébastien MARQUE

Bonjour,

tout l'info est dans le message d'erreur: "opérande du fichier cible 
manquant", il manque la destination.


La raison est simple: entre les larmes qui me brouillent la vue en 
voyant ton algo ;), j'ai pu discerner des choses du genre 
'${DEV_VER[k]}', ce qui ne va pas renvoyer grand chose dans ton cas.


En bash on "expand" les variables. La lettre 'k' a donc pour valeur 'k', 
et $k (ou ${k}) a pour valeur le contenu de la variable k.


${DEV_VER[$k]} ou ${DEV_VER[${k}]} donneront un résultat plus conforme à 
ce que tu attends.


Cordialement.
seb

Le 12/07/2012 18:52, Hugues MORIN a écrit :

Bonjour

Voila je fais mes premiers pas dans le script shell.
Pour m'entrainer j'ai fait un script qui est sense copier des fichiers vers
d'autres emplacements en leur gardant les memes proprietaires et droits,
ainsi que creer une copie de sauvegarde du fichier cible.

Si ce n'ai que pour moi c'est une nouvelle syntaxe, il n'y a pas de grande
difficulte.
Neanmoins, j'ai l'erreur suivante a chaque "cp" executes:

cp: opérande du fichier cible manquant apres
`/home//password_forgotten.php'
Pour en savoir davantage, faites: " cp --help ".

J'ai biensur cherche dans le man et sur mon ami google, mais j'ai rien
trouve qui resolve mon probleme.
Si je passe le "cp" manuellement en ligne de commande, cela fonctionne O_o

Voici le script:

#!/bin/bash
# Copy alpha version language file to beta and production
# only 1 argument: alpha version language file must be copy
# TUTO: http://doc.ubuntu-fr.org/tutoriel/script_shell

echo "Treatment..."

BASE_FOLDER=/home/user/public_html/
LANG_FOLDER=/includes/languages/
DEV_VER=("alpha" "beta" "production")
LANGUE=("english" "espanol" "french" "italian")
SITE=("www" "www2")
i=0
cpt=1

while [ -d $BASE_FOLDER${DEV_VER[0]}/${SITE[i]} ]&&  [ $i -lt ${#SITE[*]} ]
do
#echo "test 1 ok - "$i" - "${DEV_VER[0]}/${SITE[i]}
j=0
while [ -f $BASE_FOLDER${DEV_VER[0]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}/$1
]&&  [ $j -lt ${#LANGUE[*]} ]
do
#echo "test 2 ok - "$j" -
"${DEV_VER[0]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}/$1
k=1
while [ -d $BASE_FOLDER${DEV_VER[k]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]} ]
&&  [ $k -lt ${#DEV_VER[*]} ]
do
#echo "test 3 ok - "$k" - "${DEV_VER[k]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}
#echo $cpt" - cp -b -p --suffix=.bak
$BASE_FOLDER${DEV_VER[0]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}/$1
$BASE_FOLDER${DEV_VER[k]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}"
echo "copy from "${DEV_VER[0]}/${SITE[i]}"..."${LANGUE[j]}/$1" to
"${DEV_VER[k]}/${SITE[i]}...${LANGUE[j]}
cp -b -p --suffix=.bak
$BASE_FOLDER${DEV_VER[0]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}/$1
$BASE_FOLDER${DEV_VER[k]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}
k=$(($k+1))
cpt=$(($cpt+1))
done
j=$(($j+1))
done
i=$(($i+1))
done

exit 0


Cordialement
Hugues



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/4fffbc6f.9040...@free.fr



Erreur "cp: opérande du fichier cible manquant" dans script shell [debutant]

2012-07-12 Par sujet Hugues MORIN
Bonjour

Voila je fais mes premiers pas dans le script shell.
Pour m'entrainer j'ai fait un script qui est sense copier des fichiers vers
d'autres emplacements en leur gardant les memes proprietaires et droits,
ainsi que creer une copie de sauvegarde du fichier cible.

Si ce n'ai que pour moi c'est une nouvelle syntaxe, il n'y a pas de grande
difficulte.
Neanmoins, j'ai l'erreur suivante a chaque "cp" executes:

cp: opérande du fichier cible manquant apres
`/home//password_forgotten.php'
Pour en savoir davantage, faites: " cp --help ".

J'ai biensur cherche dans le man et sur mon ami google, mais j'ai rien
trouve qui resolve mon probleme.
Si je passe le "cp" manuellement en ligne de commande, cela fonctionne O_o

Voici le script:

#!/bin/bash
# Copy alpha version language file to beta and production
# only 1 argument: alpha version language file must be copy
# TUTO: http://doc.ubuntu-fr.org/tutoriel/script_shell

echo "Treatment..."

BASE_FOLDER=/home/user/public_html/
LANG_FOLDER=/includes/languages/
DEV_VER=("alpha" "beta" "production")
LANGUE=("english" "espanol" "french" "italian")
SITE=("www" "www2")
i=0
cpt=1

while [ -d $BASE_FOLDER${DEV_VER[0]}/${SITE[i]} ] && [ $i -lt ${#SITE[*]} ]
do
#echo "test 1 ok - "$i" - "${DEV_VER[0]}/${SITE[i]}
j=0
while [ -f $BASE_FOLDER${DEV_VER[0]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}/$1
] && [ $j -lt ${#LANGUE[*]} ]
do
#echo "test 2 ok - "$j" -
"${DEV_VER[0]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}/$1
k=1
while [ -d $BASE_FOLDER${DEV_VER[k]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]} ]
&& [ $k -lt ${#DEV_VER[*]} ]
do
#echo "test 3 ok - "$k" - "${DEV_VER[k]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}
#echo $cpt" - cp -b -p --suffix=.bak
$BASE_FOLDER${DEV_VER[0]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}/$1
$BASE_FOLDER${DEV_VER[k]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}"
echo "copy from "${DEV_VER[0]}/${SITE[i]}"..."${LANGUE[j]}/$1" to
"${DEV_VER[k]}/${SITE[i]}...${LANGUE[j]}
cp -b -p --suffix=.bak
$BASE_FOLDER${DEV_VER[0]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}/$1
$BASE_FOLDER${DEV_VER[k]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}
k=$(($k+1))
cpt=$(($cpt+1))
done
j=$(($j+1))
done
i=$(($i+1))
done

exit 0


Cordialement
Hugues


Re: Opportunité de script shell

2012-02-08 Par sujet thierry . leurent
Bonjour,

Et python ?
A chaud et dans le train, je pensais a locate tata.txt, tu parcours le résultat 
par une boucle for, tu extraits le chemin, tu fais un ls chemin/toto.txt et tu 
testes le résultat.
En fouillant sur le net, tu trouvera facilement les commandes. Malheureusement, 
je ne programme pas en bash tous les jours.

Bonne chance

--
Sent from my Nokia N9


On 8/02/12 16:20 jerome moliere wrote:

Bonjour à tous,
je ne suis pas très scripts shells mais là je soupçonne avoir
l'occasion d'en faire un , du coup je ne sais pas trop comment m'y
prendre...
En gros mon besoin: je dois trouver dans qq milliers de répertoires
descendant de repos svn lesquels ne conttiennent pas un fichier donné
(toto.txt disons) sachant qu'ils doivent contenir un tata.txt (pour en
filtrer la majeure partie déjà)

je pensais à find mais je ne vois pas comment dire d'exclure (inclure
pas de souci) un pattern donné, donc faire la négation...
une grosse boucle for ? ca va ramer non?

bref votre avis m'intéresse...
pas de perl je suis allergique -)
un zsh serait il mieux armé qu'un bash pour cela ?

en regardant xargs je suis tombé sur gnu parallel mais il ne semble
être dans les repo ..c'est normal ?
j'ai trouvé un truc appelé r-cran mais est ce la même chose ?

merci par avance
J.MOLIERE - Mentor/J
auteur Eyrolles
blog: http://romjethoughts.blogspot.com
OSGi book available now!!!

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: 
http://lists.debian.org/caegyfe+r6aw--7ionrcrh5fmf5qepkx7drrir8doqvuzdks...@mail.gmail.com





Re: Opportunité de script shell

2012-02-08 Par sujet Nicolas Bercher

Désolé, il semblerait qu'icedove me joue des tours, veuillez ignorer mon
e-mail de 19h49 qui n'était qu'un brouillon.

Nicolas

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/4f32c8b5.60...@yahoo.fr



Re: Opportunité de script shell

2012-02-08 Par sujet Nicolas Bercher

JF Straeten a écrit :

Re,

On Wed, Feb 08, 2012 at 04:41:02PM +, jerome.moli...@gmail.com wrote:


Je me suis fait une appli java qui donne la meme chose...mais je
suis decu de ne pas pouvoir combiner des criteres complexes dans
find


Avec find, tu peux nier une condition de la recherche avec "!".


jfs@jones:/tmp$ find a/ \! -iname "toto.txt"
a/
a/b
a/b/c
a/b/c/tata.txt

jfs@jones:/tmp$ find a/ \! -iname "toto.txt" -o -iname "tata.txt"
a/
a/b
a/b/c
a/b/c/tata.txt

jfs@jones:/tmp$ find a/ -iname "toto.txt" -o -iname "tata.txt"
a/toto.txt
a/b/c/toto.txt
a/b/c/tata.txt


Faut voir si t'arriver à crafter la recherche exacte que tu veux avec
ça...


C'est équivalent à -not il me semble.  Mais de toutes manières le
problème n'est pas solvable avec find tout seul car il ne peut tout
simplement pas faire un test simultané sur deux path à la fois!

find ne fait que de lister l'un après l'autre les fichiers qu'il
rencontre dans sa descente récursive et leur applique une batterie de
tests, il ne peut donc pas appliquer un test à un fichier voisin de
celui qu'il est en train de tester.

Si tu tests un path et qu'il matche tata.txt, nécessairement, il ne
matchera pas toto.txt, tous ces tests étant indépendants.  On ne peut
donc pas tester simultanément la présence ou non de deux fichiers en
même temps avec find.

Par contre, en travaillant sur les répertoires --type d) et en invoquant
-exec sur une commande qui elle peut analyser le contenu d'un
répertoire, cela fonctionne.

Nicolas

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/4f32c4d0.5090...@yahoo.fr



Re: Opportunité de script shell

2012-02-08 Par sujet Nicolas Bercher

JF Straeten a écrit :

Re,

On Wed, Feb 08, 2012 at 04:41:02PM +, jerome.moli...@gmail.com wrote:


Je me suis fait une appli java qui donne la meme chose...mais je
suis decu de ne pas pouvoir combiner des criteres complexes dans
find


Avec find, tu peux nier une condition de la recherche avec "!".


jfs@jones:/tmp$ find a/ \! -iname "toto.txt"
a/
a/b
a/b/c
a/b/c/tata.txt

jfs@jones:/tmp$ find a/ \! -iname "toto.txt" -o -iname "tata.txt"
a/
a/b
a/b/c
a/b/c/tata.txt

jfs@jones:/tmp$ find a/ -iname "toto.txt" -o -iname "tata.txt"
a/toto.txt
a/b/c/toto.txt
a/b/c/tata.txt


Faut voir si t'arriver à crafter la recherche exacte que tu veux avec
ça...


C'est équivalent à -not il me semble.  Mais il me semble de toutes
manières que le problème n'est pas solvable avec find seul car il ne
peut pas faire un test simultanné sur deux path.

Si tu tests un path et qu'il matche tata.txt, nécessairement, il ne
matchera pas toto.txt, tous ces tests sont indépendants, on ne peut donc 
pas tester simultanément la présence ou non de deux fichiers en même

temps avec find.

Par contre, en travaillant sur les répertoires et en invoquant -exec
sur une commande qui elle peut analyser le contenu d'un répertoire, cela
fonctionne.

Nicolas

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/4f32c3b3.5080...@yahoo.fr



Re: Opportunité de script shell

2012-02-08 Par sujet JF Straeten

Re,

On Wed, Feb 08, 2012 at 04:41:02PM +, jerome.moli...@gmail.com wrote:

> Je me suis fait une appli java qui donne la meme chose...mais je
> suis decu de ne pas pouvoir combiner des criteres complexes dans
> find

Avec find, tu peux nier une condition de la recherche avec "!".


jfs@jones:/tmp$ find a/ \! -iname "toto.txt"
a/
a/b
a/b/c
a/b/c/tata.txt

jfs@jones:/tmp$ find a/ \! -iname "toto.txt" -o -iname "tata.txt"
a/
a/b
a/b/c
a/b/c/tata.txt

jfs@jones:/tmp$ find a/ -iname "toto.txt" -o -iname "tata.txt"
a/toto.txt
a/b/c/toto.txt
a/b/c/tata.txt


Faut voir si t'arriver à crafter la recherche exacte que tu veux avec
ça...

Hih,


-- 

JFS.

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/20120208170708.ga28...@jones.jfs.dt



Re: Opportunité de script shell

2012-02-08 Par sujet Nicolas Bercher

jerome.moli...@gmail.com a écrit :

Un gd merci nicolas
C est cela
Je me suis fait une appli java qui donne la meme chose...mais je suis decu de 
ne pas pouvoir combiner des criteres complexes dans find


Et oui!  Mais on peut aussi faire des choses très complexes avec find,
mais seulement sur un seul chemin à la fois et son résultat est de la
forme:

  j'imprime le chemin s'il valide les critères

ou

  je n'imprime rien sinon

Et puis ce n'est pas non plus un langage de programmation!

Nicolas

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/4f32a82b.9010...@yahoo.fr



Re: Opportunité de script shell

2012-02-08 Par sujet jerome . moliere
Un gd merci nicolas
C est cela
Je me suis fait une appli java qui donne la meme chose...mais je suis decu de 
ne pas pouvoir combiner des criteres complexes dans find
Lol
 Envoyé avec BlackBerry® d'Orange 

-Original Message-
From: Nicolas Bercher 
Date: Wed, 08 Feb 2012 17:02:22 
To: jerome moliere
Cc: debian-utilisateur
Subject: Re: Opportunité de script shell

jerome moliere a écrit :
> Bonjour à tous,
> je ne suis pas très scripts shells mais là je soupçonne avoir
> l'occasion d'en faire un , du coup je  ne sais pas trop comment m'y
> prendre...
> En gros mon besoin: je dois trouver dans qq milliers de répertoires
> descendant de repos svn lesquels ne conttiennent pas un fichier donné
> (toto.txt disons) sachant qu'ils doivent contenir un tata.txt (pour en
> filtrer la majeure partie déjà)
> 
> je pensais à find mais je ne vois pas comment dire d'exclure (inclure
> pas de souci) un pattern donné, donc faire la négation...
> une grosse boucle for ? ca va ramer non?
> 
> bref votre avis m'intéresse...
> pas de perl je suis allergique -)
> un zsh serait il mieux armé qu'un bash pour cela ?
> 
> en regardant xargs je suis tombé sur gnu parallel mais il ne semble
> être dans les repo ..c'est normal ?
> j'ai trouvé un truc appelé r-cran mais est ce la même chose ?

Voici, je pense une solution avec un find et une fonction bash:

Soit l'arborescence suivante:

$ find
.
./a
./a/b
./a/b/c
./a/b/c/tata.txt
./a/b/c/toto.txt
./a/b/tata.txt
./a/toto.txt

et le script suivant:
---8<---
#!/bin/bash
#
# name: testifandifnot
#

function dirok () {
   [ -f "${1}"/tata.txt ] && [ ! -f "${1}"/toto.txt ] && echo "${1}"
}
export -f dirok

find . -type d -exec bash -c 'dirok "$1"' _ {} \;

---8<---

Voici le résultat:

$ ./testifandifnot
./a/b

$ ls -1 ./a/b
c
tata.txt


Est-ce bien cela?

Nicolas


Re: Opportunité de script shell

2012-02-08 Par sujet Nicolas Bercher

jerome moliere a écrit :

Bonjour à tous,
je ne suis pas très scripts shells mais là je soupçonne avoir
l'occasion d'en faire un , du coup je  ne sais pas trop comment m'y
prendre...
En gros mon besoin: je dois trouver dans qq milliers de répertoires
descendant de repos svn lesquels ne conttiennent pas un fichier donné
(toto.txt disons) sachant qu'ils doivent contenir un tata.txt (pour en
filtrer la majeure partie déjà)

je pensais à find mais je ne vois pas comment dire d'exclure (inclure
pas de souci) un pattern donné, donc faire la négation...
une grosse boucle for ? ca va ramer non?

bref votre avis m'intéresse...
pas de perl je suis allergique -)
un zsh serait il mieux armé qu'un bash pour cela ?

en regardant xargs je suis tombé sur gnu parallel mais il ne semble
être dans les repo ..c'est normal ?
j'ai trouvé un truc appelé r-cran mais est ce la même chose ?


Voici, je pense une solution avec un find et une fonction bash:

Soit l'arborescence suivante:

$ find
.
./a
./a/b
./a/b/c
./a/b/c/tata.txt
./a/b/c/toto.txt
./a/b/tata.txt
./a/toto.txt

et le script suivant:
---8<---
#!/bin/bash
#
# name: testifandifnot
#

function dirok () {
  [ -f "${1}"/tata.txt ] && [ ! -f "${1}"/toto.txt ] && echo "${1}"
}
export -f dirok

find . -type d -exec bash -c 'dirok "$1"' _ {} \;

---8<---

Voici le résultat:

$ ./testifandifnot
./a/b

$ ls -1 ./a/b
c
tata.txt


Est-ce bien cela?

Nicolas

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/4f329c8e.7010...@yahoo.fr



Re: Petit conseil de Programmation [ Script Shell + Ruby ]

2008-04-30 Par sujet Xadawa

Marc Chantreux wrote:

On Wed, Apr 30, 2008 at 03:35:00PM +0200, Xadawa wrote:
  

for f ($( get|examples )) { get $f > $f }
  
La dernière ligne avec le for ne marche pas... Il me met une erreur de  
parenthèses...



c'est que tu n'utilises pas encore zsh :)

en attendant, tu dois tapper 


for f in ($( get|examples )); do get $f > $f; done

marc 


ps: s'inscrire a shell[at]asyd.net ou ssfr

  
[EMAIL PROTECTED]:~/examples # get () { curl 
http://www.fifi.org/doc/dialog/examples/$1 }; examples() { perl -lne 
'print $1 while m{\1}g'}; for f in ($( get|examples 
)); do get $f > $f; done

bash: syntax error near unexpected token `('

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Petit conseil de Programmation [ Script Shell + Ruby ]

2008-04-30 Par sujet Marc Chantreux
On Wed, Apr 30, 2008 at 03:35:00PM +0200, Xadawa wrote:
>> for f ($( get|examples )) { get $f > $f }
> La dernière ligne avec le for ne marche pas... Il me met une erreur de  
> parenthèses...

c'est que tu n'utilises pas encore zsh :)

en attendant, tu dois tapper 

for f in ($( get|examples )); do get $f > $f; done

marc 

ps: s'inscrire a shell[at]asyd.net ou ssfr

-- 
Marc Chantreux
BibLibre, expert en logiciels libres pour l'info-doc
http://biblibre.com

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Petit conseil de Programmation [ Script Shell + Ruby ]

2008-04-30 Par sujet Xadawa

Marc Chantreux wrote:

On Wed, Apr 30, 2008 at 11:43:59AM +0200, Xadawa wrote:

si ruby n'est la que pour la partie interactive, tu peux t'en passer: 

aptitude show whiptail 


si tu veux qq exemples:

mkdir examples
cd !$ 
get () { curl http://www.fifi.org/doc/dialog/examples/$1 }

examples() { perl -lne 'print $1 while m{\1}g'}
for f ($( get|examples )) { get $f > $f }

cordialement,
marc

ps: s'inscrire a [EMAIL PROTECTED] ssfr! 

  
La dernière ligne avec le for ne marche pas... Il me met une erreur de 
parenthèses...


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Petit conseil de Programmation [ Script Shell + Ruby ]

2008-04-30 Par sujet Marc Chantreux
On Wed, Apr 30, 2008 at 11:43:59AM +0200, Xadawa wrote:

si ruby n'est la que pour la partie interactive, tu peux t'en passer: 

aptitude show whiptail 

si tu veux qq exemples:

mkdir examples
cd !$ 
get () { curl http://www.fifi.org/doc/dialog/examples/$1 }
examples() { perl -lne 'print $1 while m{\1}g'}
for f ($( get|examples )) { get $f > $f }

cordialement,
marc

ps: s'inscrire a [EMAIL PROTECTED] ssfr! 

-- 
Marc Chantreux
BibLibre, expert en logiciels libres pour l'info-doc
http://biblibre.com

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Petit conseil de Programmation [ Script Shell + Ruby ]

2008-04-30 Par sujet Xadawa

Salut à tous,
j'aurais besoin d'un petit conseil, j'ai fait un script d'installation 
d'une debian embarquée sur une carte mémoire CFlash de 512 Mo. Mon 
script n'est pas interractif mais des variables sont à fixer au départ ( 
installer cron ? apache ? quelle interface devra etre utilisée ? etc... 
). Je voudrais savoir s'il est possible avec Ruby ( je suis novice en la 
matière ) de créer une petite interface graphique ( RubyTk ? ) et 
d'éxécuter mon script ( toujours depuis l'interface graphique ) et 
soyons fous d'y ajouter une barre de progression...


Merci

Eclairer un illuminé, c'est comme demander du feu à un non-fumeur...

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: verifier le demontage d'un lv par un script shell

2007-04-01 Par sujet Thierry B
Bernard Adrian a écrit :
> Thierry B <[EMAIL PROTECTED]> a écrit : 
> 
> 
> [...]
> 
>> Je voulais rajouter une petite conditionnelle dans mon script shell,
>> qui après le umount regarde si le lv estbien démonté.
>>
>> SI oui, il continue et sinon, il affiche un msg d'erreur et il fait rien.
>>
>> Voici le fameux point de montage:
>>
>> # cat /proc/mounts | grep -i "mail"
>> /dev/mapper/VG0-Mail /var/mail reiserfs rw 0 0
>> Un petit truc rapide pour faire ca ?
> 
> Je propose ça :
> 
> ,
> | if  
> | mount | grep -q mail  
> | then
> | echo "le volume n'est pas démonté"
> | exit 1
> | else 
> | echo "le volume est démonté"
> | fi
> `
> 

Merci :-)


-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench   
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: verifier le demontage d'un lv par un script shell

2007-04-01 Par sujet Bernard Adrian
Thierry B <[EMAIL PROTECTED]> a écrit : 


[...]

> Je voulais rajouter une petite conditionnelle dans mon script shell,
> qui après le umount regarde si le lv estbien démonté.
>
> SI oui, il continue et sinon, il affiche un msg d'erreur et il fait rien.
>
> Voici le fameux point de montage:
>
> # cat /proc/mounts | grep -i "mail"
> /dev/mapper/VG0-Mail /var/mail reiserfs rw 0 0
> Un petit truc rapide pour faire ca ?

Je propose ça :

,
| if  
| mount | grep -q mail  
| then
| echo "le volume n'est pas démonté"
| exit 1
| else 
| echo "le volume est démonté"
| fi
`

-- 
Bernard Adrian
http://www.bernadrian.net


-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench   
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: verifier le demontage d'un lv par un script shell

2007-04-01 Par sujet Pierre THIERRY
Scribit Thierry B dies 01/04/2007 hora 14:47:
> Le seul truc, c'est que je dois démonter le lv, avant de créer le
> snapshot, puis ensuite je peux remonter le lv.

Sûr ? Moi je snapshot mes LV à chaud. (ça me ferait chier de devoir
passer en runlevel 1 pour snapshoter /home, tiens)

Dubitativement,
Pierre
-- 
[EMAIL PROTECTED]
OpenPGP 0xD9D50D8A


signature.asc
Description: Digital signature


verifier le demontage d'un lv par un script shell

2007-04-01 Par sujet Thierry B

Bonjour,

J'ai fait un script qui me permet de faire une sauvegarde régulière de 
mes mails contenus dans un lv, en utilisant un snapshot.


Le seul truc, c'est que je dois démonter le lv, avant de créer le 
snapshot, puis ensuite je peux remonter le lv.


Ca arrive de temps en temps, que le lv ne peut pas etre démontée par 
négligence de ma part, car si j'ai un ruc qui l'utilise, il mettra 
"busy" et le umount ne marchera pas.


Je voulais rajouter une petite conditionnelle dans mon script shell, qui 
 après le umount regarde si le lv estbien démonté.


SI oui, il continue et sinon, il affiche un msg d'erreur et il fait rien.

Voici le fameux point de montage:

# cat /proc/mounts | grep -i "mail"
/dev/mapper/VG0-Mail /var/mail reiserfs rw 0 0

Un petit truc rapide pour faire ca ?

Merci :-)


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench   
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et

"Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: [HS] mc-like script shell

2007-03-21 Par sujet Damien Ulrich
Le mardi 20 mars 2007 18:31, Cédric Lucantis a écrit :
> Le mardi 20 mars 2007 16:55, Damien Ulrich a écrit :
> > Bonjour à tous,
> > je suis à la recherche d'un sélecteur de fichiers en console,
> > à la manière midnight commander, mais dans l'esprit kdialog,
> > pour de petits scripts shell locaux
> > ça vous inspire ? ^^'
> >
> > Dams
>
> Il y a dialog, mais son comportement est assez bizarre et pas très
> intuitif...
>
> dialog --title "TITRE" --fselect /path 25 40
>
> voir man dialog et /usr/share/doc/dialog/examples pour plus d'infos...
Oui, c'est bien ce que je cherchais, 
mais en effet pas très intuitif ! 
Il me faudrait le même genre,
mais pour un simple sélecteur de fichier en ncurses...
Si je ne trouve pas, je le ferai peut-être...

Merci !
-- 


pgpePHPOggBuQ.pgp
Description: PGP signature


Re: [HS] mc-like script shell

2007-03-21 Par sujet Damien Ulrich
Le mardi 20 mars 2007 18:27, Jean-Michel OLTRA a écrit :
> Bonjour,
>
>
> Le mardi 20 mars 2007, Damien Ulrich a écrit...
>
> > je suis à la recherche d'un sélecteur de fichiers en console,
> > à la manière midnight commander, mais dans l'esprit kdialog,
> > pour de petits scripts shell locaux
> > ça vous inspire ? ^^'
>
> Je ne connais pas kdialog, mais je connais emelfm. Essayes et tu verras
> si c'est ce que tu veux.
Pas tout-à-fait ça, mais merci quand même ! ;)

-- 


pgp1W5WCvZ4Qp.pgp
Description: PGP signature


Re: [HS] mc-like script shell

2007-03-20 Par sujet Cédric Lucantis
Le mardi 20 mars 2007 16:55, Damien Ulrich a écrit :
> Bonjour à tous,
> je suis à la recherche d'un sélecteur de fichiers en console,
> à la manière midnight commander, mais dans l'esprit kdialog,
> pour de petits scripts shell locaux
> ça vous inspire ? ^^'
>
> Dams

Il y a dialog, mais son comportement est assez bizarre et pas très intuitif...

dialog --title "TITRE" --fselect /path 25 40

voir man dialog et /usr/share/doc/dialog/examples pour plus d'infos...

-- 
Cédric Lucantis



Re: [HS] mc-like script shell

2007-03-20 Par sujet Jean-Michel OLTRA

Bonjour,


Le mardi 20 mars 2007, Damien Ulrich a écrit...


> je suis à la recherche d'un sélecteur de fichiers en console,
> à la manière midnight commander, mais dans l'esprit kdialog,
> pour de petits scripts shell locaux
> ça vous inspire ? ^^'

Je ne connais pas kdialog, mais je connais emelfm. Essayes et tu verras
si c'est ce que tu veux.

-- 
jm

A.E.L. Sarl (R.C.S CASTRES 490843240)
http://www.affaires-en-ligne.com



-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench   
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



[HS] mc-like script shell

2007-03-20 Par sujet Damien Ulrich
Bonjour à tous,
je suis à la recherche d'un sélecteur de fichiers en console,
à la manière midnight commander, mais dans l'esprit kdialog,
pour de petits scripts shell locaux
ça vous inspire ? ^^'

Dams
-- 
http://www.domosys.org/


pgpMqZ9OS7VfJ.pgp
Description: PGP signature


Re: Script shell pour parsing de fichiers

2005-10-05 Par sujet Edi Stojicevic


> Salut Jacques,
>
> Nikel merci ;-)
>
> Nico

Salut,

Il existe une liste de diffusion spéciale "shellscripting" et on a toutes
les infos pour s'y abonner sur http://debianworld.org/?q=node/12. Tu y
trouveras également pas mal de liens ...

A+


-- 
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Script shell pour parsing de fichiers

2005-10-05 Par sujet gmane.linux.debian.user.french
Salut Jacques,

Nikel merci ;-)

Nico

"Jacques L'helgoualc'h" <[EMAIL PROTECTED]> a écrit dans le message de
news:[EMAIL PROTECTED]
gmane.linux.debian.user.french a écrit, mardi 4 octobre 2005, à 18:21 :
> Bonjour à tous

bonsoir,

> J'ai un petit problême avec un script shell que je suis en train de faire
> ...
>
> En gros ce que je veux faire c'est récupérer dans les fichiers contenant
les
> mail d'un serveur mail ( dans /var/mail/* ) la date du plus ancien message
> dans la boite ...

A priori, le plus vieux message de chaque boîte devrait être en tête...

 for f in /var/mail/*
 do
   d=`sed -ne '1s/^From \+[^ ]*//p;q' "$f"`
   [ -n "$d" ] && date "+%s $d $f" -d "$d"
 done | sort -n

Si les messages ne sont pas dans l'ordre chronologique,

 for f in /var/mail/*
 do
   sed -ne 's/^From \+[^ ]*//p' "$f" | \
   while IFS="\n" read d
   do
 [ -n "$d" ] && date "+%s $d $f" -d "$d"
   done
 done | sort -n

PS. pas de % dans les $f, bien sûr.
-- 
Jacques L'helgoualc'h


-- 
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact
[EMAIL PROTECTED]





-- 
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Script shell pour parsing de fichiers

2005-10-04 Par sujet Jacques L'helgoualc'h
gmane.linux.debian.user.french a écrit, mardi 4 octobre 2005, à 18:21 :
> Bonjour à tous

bonsoir,

> J'ai un petit problême avec un script shell que je suis en train de faire
> ...
> 
> En gros ce que je veux faire c'est récupérer dans les fichiers contenant les
> mail d'un serveur mail ( dans /var/mail/* ) la date du plus ancien message
> dans la boite ...

A priori, le plus vieux message de chaque boîte devrait être en tête... 

 for f in /var/mail/*
 do
   d=`sed -ne '1s/^From \+[^ ]*//p;q' "$f"`
   [ -n "$d" ] && date "+%s $d $f" -d "$d"
 done | sort -n

Si les messages ne sont pas dans l'ordre chronologique,

 for f in /var/mail/*
 do
   sed -ne 's/^From \+[^ ]*//p' "$f" | \
   while IFS="\n" read d
   do
 [ -n "$d" ] && date "+%s $d $f" -d "$d"
   done
 done | sort -n

PS. pas de % dans les $f, bien sûr.
-- 
Jacques L'helgoualc'h


-- 
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Script shell pour parsing de fichiers

2005-10-04 Par sujet manioul
Le mardi 04 octobre 2005 à 18:21 +0200, gmane.linux.debian.user.french a
écrit :
> Bonjour  tous
Coucou!
> 
> J'ai un petit problme avec un script shell que je suis en train de faire
> ...
> 
> En gros ce que je veux faire c'est rcuprer dans les fichiers contenant les
> mail d'un serveur mail ( dans /var/mail/* ) la date du plus ancien message
> dans la boite ...
> 
> J'ai donc fait un script qui (idalement) liste les comptes mail et parse
> les lignes contenant "From " pour me donner la date du plus ancien message :
> 
> #!/bin/sh
> ls /var/mail/ > liste_comptes
> cat liste_comptes > tmp_compte | head  /var/mail/$tmp_compte -n 1  | grep
> "From " |awk '{print $tmp_compte "date : " $5 " " $4 " " $7}' | tee
> liste_mail
> 
> le ls liste les boite mails ( ca fonctionne )
> et la commande suivant fonctionne correctement aussi :
> head  /var/mail/toto -n 1  | grep "From " |awk '{print "date : " $5 " " $4 "
> " $7}' | tee liste_mail
> 
> le seul souci qu'il me reste est de passer la liste des boites mail (
> fichier liste_comptes ) dans ma commande head pour lister tous les comptes
> avec les date des mail ...
si tu "cat" dans un fichier, tu n'as pas de sortie réutilisable
directement. Tu peux pour cela utiliser tee ou bien tout simplement
re-"cat"(t?)er le fichier:
cat tmp_comptes | head [...]

Ne voyant pas bien l'intéret du "cat liste_comptes > tmp_compte | ",
d'ailleurs.

le grep ne sert à rien puisque tu n'affiches que la première ligne, à
moins qu'il y ait des fichiers dont la première ligne ne contient pas
"from" et que tu ne veux pas traiter.

Est-ce que cela convient:

#!/bin/sh
for file in `ls /var/mail/"`; do
head -1 $file | awk '{print $file "date : " $5 " " $4 " " $7}' | tee
liste_mail
done

Si le from n'est pas toujours dans la première ligne, tu remplaces le
head -1 par un grep "From ".
> 
> J'espere avoir t clair :-S
J'espère avoir compris
> 
> Ma question est assez simple ... comment faire pour faire ma commande head
> sur chaque ligne du fichier liste_comptes
Une commande head sur chaque ligne d'un fichier??? :o man head
> 
> En effet jusqu'a prsent mon script me dit "head: /var/mail/: Is a
> directory" ce qui veut dire que mon $tmp_compte est vide
> 
> Merci de votre aide
Espérant que ça marche :p
> 
> Nico
++ ;)
> 
> 
> 
> 
-- 
---
 Ma clé GPG est disponible sur http://www.keyserver.net
---
 _
|Protégez votre vie privée:   |
  \|||/ | - Signez/chiffrez vos messages.   __|
 q o - p|Respectez celle des autres:   | /
__mn__\_^_/_nm__| - Masquez les destinataires de vos mailings  |/
|__/



signature.asc
Description: This is a digitally signed message part


Re: Script shell pour parsing de fichiers

2005-10-04 Par sujet Laurent CARON

gmane.linux.debian.user.french a écrit :


Bonjour à tous

J'ai un petit problême avec un script shell que je suis en train de faire
...

En gros ce que je veux faire c'est récupérer dans les fichiers contenant les
mail d'un serveur mail ( dans /var/mail/* ) la date du plus ancien message
dans la boite ...

J'ai donc fait un script qui (idéalement) liste les comptes mail et parse
les lignes contenant "From " pour me donner la date du plus ancien message :

#!/bin/sh
ls /var/mail/ > liste_comptes
cat liste_comptes > tmp_compte | head  /var/mail/$tmp_compte -n 1  | grep
"From " |awk '{print $tmp_compte "date : " $5 " " $4 " " $7}' | tee
liste_mail

le ls liste les boite mails ( ca fonctionne )
et la commande suivant fonctionne correctement aussi :
head  /var/mail/toto -n 1  | grep "From " |awk '{print "date : " $5 " " $4 "
" $7}' | tee liste_mail

le seul souci qu'il me reste est de passer la liste des boites mail (
fichier liste_comptes ) dans ma commande head pour lister tous les comptes
avec les date des mail ...

J'espere avoir été clair :-S

Ma question est assez simple ... comment faire pour faire ma commande head
sur chaque ligne du fichier liste_comptes

En effet jusqu'a présent mon script me dit "head: /var/mail/: Is a
directory" ce qui veut dire que mon $tmp_compte est vide

Merci de votre aide

Nico




 


for i in /var/mail/*
do
   commande $i
done


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Script shell pour parsing de fichiers

2005-10-04 Par sujet gmane.linux.debian.user.french
Bonjour à tous

J'ai un petit problême avec un script shell que je suis en train de faire
...

En gros ce que je veux faire c'est récupérer dans les fichiers contenant les
mail d'un serveur mail ( dans /var/mail/* ) la date du plus ancien message
dans la boite ...

J'ai donc fait un script qui (idéalement) liste les comptes mail et parse
les lignes contenant "From " pour me donner la date du plus ancien message :

#!/bin/sh
ls /var/mail/ > liste_comptes
cat liste_comptes > tmp_compte | head  /var/mail/$tmp_compte -n 1  | grep
"From " |awk '{print $tmp_compte "date : " $5 " " $4 " " $7}' | tee
liste_mail

le ls liste les boite mails ( ca fonctionne )
et la commande suivant fonctionne correctement aussi :
head  /var/mail/toto -n 1  | grep "From " |awk '{print "date : " $5 " " $4 "
" $7}' | tee liste_mail

le seul souci qu'il me reste est de passer la liste des boites mail (
fichier liste_comptes ) dans ma commande head pour lister tous les comptes
avec les date des mail ...

J'espere avoir été clair :-S

Ma question est assez simple ... comment faire pour faire ma commande head
sur chaque ligne du fichier liste_comptes

En effet jusqu'a présent mon script me dit "head: /var/mail/: Is a
directory" ce qui veut dire que mon $tmp_compte est vide

Merci de votre aide

Nico




-- 
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: [solved][hs] awk + boucle dans script shell

2005-04-09 Par sujet Thomas Nemeth
Le 09.04.05, Steve a tapoté :

| Le samedi 09 avr 2005 à 11 h 46, Thomas a dit:
|
| > Le 09.04.05, Steve a tapoté :
| >
| > | for ((i=1 ; i < limite ; i++))
| > | do
| > |   champ=`awk '{print $i}' $tempfile`
| > |   echo "Champ $i est $champ"
| > | done
| > |
| > | et quand j'exécute ce script, il me sort la ligne entière pour
| > chaque| $i, alors que moi je veux qu'il me sorte le ième champ
| > seulement..|
| > | pige pas ..
| >
| > C'est un peu normal...
| > ton $i est entre des '' donc il n'est pas "expandé" par le
| > shell. champ=`awk "{print \$$i}" $tempfile`
| >
| Syntaxe exacte:
|   champ=`awk "{print \$ $i}" tempfile
|   (backslash dollar espace dollar i, littéralement}

Oui, très juste.


| [me reste juste à bien piger pourquoi ...]

Pas compliqué : c'est le shell qui ne remplace pas $i
par sa valeur puisqu'il est entre apostrophes et non entre
guillemets. De toutes façons il aurait fallu en plus rajouter
un $ pour que awk prenne cette valeur comme étant un numéro
de champ.


Thomas
-- 
BOFH excuse #97:
Small animal kamikaze attack on power supplies.


-- 
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



[solved][hs] awk + boucle dans script shell

2005-04-09 Par sujet Steve
Le samedi 09 avr 2005 à 11 h 46, Thomas a dit:

> Le 09.04.05, Steve a tapoté :
> 
> | Bonjour,
> 
>   'jour,
> 
> 
> | j'essaie d'écrire un script shell contenant du awk, et il y a un
> truc| que je ne comprends pas.
> [...]
> | for ((i=1 ; i < limite ; i++))
> | do
> | champ=`awk '{print $i}' $tempfile`
> | echo "Champ $i est $champ"
> | done
> |
> | et quand j'exécute ce script, il me sort la ligne entière pour
> chaque| $i, alors que moi je veux qu'il me sorte le ième champ
> seulement..|
> | pige pas ..
> 
>   C'est un peu normal...
>   ton $i est entre des '' donc il n'est pas "expandé" par le
>   shell. champ=`awk "{print \$$i}" $tempfile`
> 
Syntaxe exacte:
champ=`awk "{print \$ $i}" tempfile
(backslash dollar espace dollar i, littéralement}

[me reste juste à bien piger pourquoi ...]

> 
> | Un petit coup de main plize
> 
>   Ouala.
> 
> 
> | merci et bon week-end
> 
>   Pas mieux :)
> 

Merci à bernard et thomas!



Re: [hs] awk + boucle dans script shell

2005-04-09 Par sujet Thomas Nemeth
Le 09.04.05, Steve a tapoté :

| Bonjour,

'jour,


| j'essaie d'écrire un script shell contenant du awk, et il y a un truc
| que je ne comprends pas.
[...]
| for ((i=1 ; i < limite ; i++))
| do
|   champ=`awk '{print $i}' $tempfile`
|   echo "Champ $i est $champ"
| done
|
| et quand j'exécute ce script, il me sort la ligne entière pour chaque
| $i, alors que moi je veux qu'il me sorte le ième champ seulement..
|
| pige pas ..

C'est un peu normal...
ton $i est entre des '' donc il n'est pas "expandé" par le shell.
champ=`awk "{print \$$i}" $tempfile`


| Un petit coup de main plize

Ouala.


| merci et bon week-end

Pas mieux :)


Thomas
-- 
BOFH excuse #88:
Boss' kid fucked up the machine.


-- 
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: [hs] awk + boucle dans script shell

2005-04-09 Par sujet Bernard Isambert
Steve a écrit :
Bonjour,
j'essaie d'écrire un script shell contenant du awk, et il y a un truc
que je ne comprends pas.
voici:
#!/bin/sh
tempfile="unfichier.txt"
# fichier contenant une ligne avec 14 champs
limite=15
for ((i=1 ; i < limite ; i++))
do
champ=`awk '{print $i}' $tempfile`
echo "Champ $i est $champ"
done
et quand j'exécute ce script, il me sort la ligne entière pour chaque
$i,  [...]
Normal.  '(print $i)' est ton script awk. Dans ce script, i est une 
variable interne, qui n'a pas été initialisée et qui vaut donc 0.
Il t'écrit $0, c'est-à-dire toute la ligne, à chaque appel.
Il faudrait mettre ta boucle dans le script awk.
Si tu tiens à la façon dont tu as fait, essaye en remplaçant $i par 
$ENVIRON["i"]
(voir man awk pour les détails de syntaxe, ça fait longtemps que je n'en 
ai pas fait).

merci et bon week-end

 




[hs] awk + boucle dans script shell

2005-04-09 Par sujet Steve
Bonjour,

j'essaie d'écrire un script shell contenant du awk, et il y a un truc
que je ne comprends pas.

voici:

#!/bin/sh

tempfile="unfichier.txt"
# fichier contenant une ligne avec 14 champs

limite=15

for ((i=1 ; i < limite ; i++))
do
champ=`awk '{print $i}' $tempfile`
echo "Champ $i est $champ"
done

et quand j'exécute ce script, il me sort la ligne entière pour chaque
$i, alors que moi je veux qu'il me sorte le ième champ seulement..

pige pas ..

Un petit coup de main plize 

merci et bon week-end



Re : bouquin script shell

2004-10-31 Par sujet Edi STOJICEVIC


Le 30.10.2004 17:29:31, Debian User a écrit :

Bonjour

Je cherche un livre complet qui part de zero qui t'explique tout
et qui va jusqu'a un bon niveau pour m'initier à la programmation de
script shell.
J'ai pas envie d'en acheter un pour debuter puis un autre et encore  
un

autre

Merci


Salut,

Tu as une liste de diffusion aussi en francais :

http://www.debianworld.org/index.php?page=shellscript-fr

A+

--
. ''`.  E d i   S T O J I C E V I C (\___/)
: :'  : http://www.debianworld.org  (='.'=)
`. `~'  GPG: C360 FCF0 AB3A 2AB0 52E7 044F 1B3D 2109 1237 B032  (")_(")
 `- 





Re: bouquin script shell

2004-10-30 Par sujet Christophe Masson
On Sat, 30 Oct 2004 17:29:31 +0200
Debian User <[EMAIL PROTECTED]> wrote:

> Bonjour

Bonjour.

> Je cherche un livre complet qui part de zero qui t'explique tout 
> et qui va jusqu'a un bon niveau pour m'initier à la programmation de
> script shell.
> J'ai pas envie d'en acheter un pour debuter puis un autre et encore un
> autre

Le suivant me semble très bien pour acquérir de bonnes bases.

http://www.editions-eyrolles.com/Livre/9782212111477/unix-shell

-- 
Christophe



Re: bouquin script shell

2004-10-30 Par sujet Jean-Michel OLTRA

bonjour,


Le samedi 30 octobre 2004, Debian User a écrit...


> Je cherche un livre complet qui part de zero qui t'explique tout 
> et qui va jusqu'a un bon niveau pour m'initier à la programmation de
> script shell.
> J'ai pas envie d'en acheter un pour debuter puis un autre et encore un
> autre

Langages de script sous Linux, Eyrolles, C. Blaess ?

-- 
jm



Re: bouquin script shell

2004-10-30 Par sujet Bruno Magagnini
On Sat, 30 Oct 2004 18:14:22 +0200
Debian User <[EMAIL PROTECTED]> wrote:

> 
> > 
> > Advanced Bash Scripting Guide (ou quelque chose comme cela)
> > 
> > Alain
> Oui ca a l'air pas mal 
> 
> http://www.tldp.org/LDP/abs/html/index.html
> 

Bonjour,

Cette référence également :

http://www.vsnetfr.com/livres.aspx?EAN=9782212114058

Bonne lecture

-- 
Bruno Magagnini - Besancon

L'adulte ne croit pas au père Noël. Il vote -  Pierre Desproges



RE: bouquin script shell

2004-10-30 Par sujet Debian User

> 
> Advanced Bash Scripting Guide (ou quelque chose comme cela)
> 
> Alain
Oui ca a l'air pas mal 

http://www.tldp.org/LDP/abs/html/index.html

-- 
N'oubliez pas d'enlever <> de l'adresse de retour.



RE: bouquin script shell

2004-10-30 Par sujet Alain
Sur le net, il y a (en anglais) le:

Advanced Bash Scripting Guide (ou quelque chose comme cela)

Alain

> -Message d'origine-
> De : Debian User [mailto:[EMAIL PROTECTED]
> Envoyé : samedi 30 octobre 2004 17:30
> À : debian-user-french@lists.debian.org
> Objet : bouquin script shell
> 
> Bonjour
> 
> Je cherche un livre complet qui part de zero qui t'explique tout
> et qui va jusqu'a un bon niveau pour m'initier à la programmation de
> script shell.
> J'ai pas envie d'en acheter un pour debuter puis un autre et encore un
> autre
> 
> Merci
> 
> 
> --
> Pensez à lire la FAQ de la liste avant de poser une question :
> http://wiki.debian.net/?DebianFrench
> 
> Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
> 
> To UNSUBSCRIBE, email to [EMAIL PROTECTED]
> with a subject of "unsubscribe". Trouble? Contact
> [EMAIL PROTECTED]





bouquin script shell

2004-10-30 Par sujet Debian User
Bonjour

Je cherche un livre complet qui part de zero qui t'explique tout 
et qui va jusqu'a un bon niveau pour m'initier à la programmation de
script shell.
J'ai pas envie d'en acheter un pour debuter puis un autre et encore un
autre

Merci



Re: [MySQL] script shell

2003-12-08 Par sujet Benoit Cattié
Le dim 07/12/2003 à 16:06, Tanen a écrit :
> Salut,
> 
> Est-ce que quelqu'un aurait un script (shell), ou, serait où en trouver un,
> qui permettrait en spécifiant, l'utilisateur, le nom de la base, le mot de
> passe, le nom de l'host, de créer tout cela sous MySQL, en donnant les bon
> privilèges a cet utilisateur pour n'accéder qu'a sa base de donnée. Ce
> serait le même schéma, qu'un hébergeur, qui partage sa ressource MySQL, a
> tous ses clients, chaque client a sa base de donné, y accède avec un nom
> d'utilisateur un mot de passe, peut tout faire sur sa base, mais ne voit en
> aucun cas les autre bases de donnée présente. Si quelqu'un aurait ça, ou
> pourrait m'aider a le trouver je serais preneur.
> 
> Merci de votre aide.

Moi je me suis fait un script qui me créé un utilisateur (mysql) ainsi
qu'un base de donnée du même nom, J'attribue ensuite les droits pour que
cet utilisateur n'ait accès qu'à sa BD (pour localhost car ils
n'accèdent à mysql que par php).
Tu dois pouvoir adapter ça facilement à tes besoins.



echo -n "Donnez le nom du nouvel utilisateur a créer : "
read username

mysql -u 'superuser' --password='password' -e "CREATE DATABASE
$username;"

mysql -u 'superuser' --password='password' -e "GRANT SELECT, INSERT,
UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON $username.*
[EMAIL PROTECTED];"

echo " fini."



PS : adapte superuser et password





Re: [MySQL] script shell

2003-12-07 Par sujet Jean-Michel OLTRA
Le dimanche 07 décembre 2003, Tanen a écrit...
bonjour,


> Est-ce que quelqu'un aurait un script (shell), ou, serait où en trouver un,
> qui permettrait en spécifiant, l'utilisateur, le nom de la base, le mot de
> passe, le nom de l'host, de créer tout cela sous MySQL, en donnant les bon
> privilèges a cet utilisateur pour n'accéder qu'a sa base de donnée. Ce
Pour quoi faire ? les GRANTS de MySQL sont faits pour ça.
Il ferait quoi de plus ton script ? Se substituer à l'administrateur du
sgbd pour créer une base par utilisateur ?
-- 
jean-michel



[MySQL] script shell

2003-12-07 Par sujet Tanen
Salut,

Est-ce que quelqu'un aurait un script (shell), ou, serait où en trouver un,
qui permettrait en spécifiant, l'utilisateur, le nom de la base, le mot de
passe, le nom de l'host, de créer tout cela sous MySQL, en donnant les bon
privilèges a cet utilisateur pour n'accéder qu'a sa base de donnée. Ce
serait le même schéma, qu'un hébergeur, qui partage sa ressource MySQL, a
tous ses clients, chaque client a sa base de donné, y accède avec un nom
d'utilisateur un mot de passe, peut tout faire sur sa base, mais ne voit en
aucun cas les autre bases de donnée présente. Si quelqu'un aurait ça, ou
pourrait m'aider a le trouver je serais preneur.

Merci de votre aide.



script shell pour cvs /etc

2003-05-06 Par sujet jean-michel OLTRA
Le lundi 05 mai 2003, jean-michel OLTRA a écrit...
bonjour,


> de dossier sur le nom. C'est à creuser à moins que qqun n'aie la
> réponse...
Voilà la commande qui tue...

[15:[EMAIL PROTECTED]:shellscripts-547> cat ~/debian/upgrade-05052003 |
while read ligne; do origine=`echo $ligne | awk /^Inst/'{print $2}'`;if
[ -n "$origine" ]; then dpkg -L $origine | egrep '^/etc.+' | xargs -i
/bin/bash -c 'fichier={}; if [ ! -d $fichier ]; then echo $fichier; fi'
; fi; done

mais ça lance un sous shell et ça parait un peu lourd. Si qqun a mieux
je prends sans complexe.

-- 
Jean-Michel

N'oubliez pas la faq: http://savannah.nongnu.org/download/debfr-faq/html



Re: Script Shell

2002-12-17 Par sujet Raphaël Berbain

OLIVIER LAMBERT wrote:

> Pour le charger automatiquement au lancement d'emacs, rajouter
>
> (global-font-lock-mode)
>
> à son .emacs

ITYM (global-font-lock-mode 1)

(global-font-lock-mode)= bascule
(global-font-lock-mode  1) = on
(global-font-lock-mode -1) = off

-- 
Raphaël




Re: Script Shell

2002-12-17 Par sujet Georges Mariano

> Pour le charger automatiquement au lancement d'emacs, rajouter
> 
> (global-font-lock-mode)
> 
> à son .emacs

Gros petit chipotage, il est préférable de mettre plutôt :

(global-font-lock-mode t)t pour 'true'

Sauf erreur, (global-...) "tout court", agit en switch (interrupteur?).
Une fois, ça enclenche, deux fois ça "dé"clenche...

Erreur classique : 

* une fois dans /etc/emacs/site-start...

* une fois dans .emacs 

Sauf erreur...
PS : pour vérifier, faire deux fois la manip en commande (meta-x ...)
dans emacs A+

-- 
mailto:[EMAIL PROTECTED] tel: (33) 03 20 43 84 06   
INRETS, 20 rue Élisée Reclus fax: (33) 03 20 43 83 59   
BP 317 -- 59666 Villeneuve d'Ascq   
http://www3.inrets.fr/estas/mariano



Re: Script Shell

2002-12-16 Par sujet OLIVIER LAMBERT
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

- - --> > Etant sous Linux depuis 3 ans, je commence juste à faire des
script shell.
- - --> > Ma question est de savoir si il existe un soft permettant de faire
de la
- - --> > coloration et correction syntaxique. Si oui, sous X ?
- - --> 
- - --> Emacs 

Je ne vais pas partir dans le troll qui a suivi... Si tu connais pas bien
emacs, juste une précision : pour activer la coloration automatique : il
suffit de tapper :
M-x global-font-lock-mode

(ci ca vaut la peine de le préciser, M-x signifie Méta _touche win ou ESC_
suivi de x...)

Pour le charger automatiquement au lancement d'emacs, rajouter

(global-font-lock-mode)

à son .emacs

- - --> > Par la même occasion, connaisez-vous des sites expliquant les
bases du
- - --> > script shell (command, syntaxe, ...)
- - --> 
- - --> The Advanced bash scripting guide pour les longues nuits d'hiver :
- - --> 
- - --> http://tldp.org/LDP/abs/html/
- - --> 
- - --> Et une intro beaucoup moins détaillée pour les nuits plus courtes
:
- - --> 
- - --> apt-get install rutebook

autre lien quand on oublie un petit détail... :)
man bash
(mais c'est vrai que c'est barbare pour apprendre)

A+ Olivier

PS : c'est un peu HS, mais Sylpheed fait-il correctement les imports 
d'archives mail ? Sinon, quel logiciel conseiller ? Comme ca, je
basculerai 
100% linux... :)


-BEGIN PGP SIGNATURE-
Version: PGP 7.0.4 -- QDPGP 2.65 
Comment: http://community.wow.net/grt/qdpgp.html

iQA/AwUBPf5NdW5Gr56w0qKDEQIovwCfao5sh0lHjJjMuwmlo1I0QKqx9IgAmwdV
2XEpMVAgCYUXOEWhuPxrIQqa
=/hXQ
-END PGP SIGNATURE-



Re: Script Shell

2002-12-16 Par sujet Yves Rutschle
On Mon, Dec 16, 2002 at 03:04:39PM +0100, Georges Mariano wrote:
> alors on dit vim-gtk ... ;-)

Mais heu, on peut le compiler pour Athena non?

Bon j'arrête de chipoter ;-)

> a) ce n'est pas l'esprit originel de vi(m)

Il semble que l'esprit originel de vi soit mutuellement
exclusif avec la plupart des valeurs de "classique". mnarf.

> ben c'est le boulot de sylpheed, y'a un problème ? 
> (en plus je coupe à 72 pas 80)

Ce mail est coupé correctement. Le précédent ne l'était pas.
Sylpheed a eternué?

/Y - Pas grave, vim sait reformater des paragraphes



Re: Script Shell

2002-12-16 Par sujet Georges Mariano
On Mon, 16 Dec 2002 13:24:26 +
Yves Rutschle <[EMAIL PROTECTED]> wrote:

> Aaaah, "cette" valeur de classique.

> vim a un mode "easy" que l'on peut  activer 

>  Les versions récentes (c'est à dire de moins de 3 ans d'age) ont des

alors on dit vim-gtk ... ;-)

> Pour "preuve", ma copine utilise cette variante de vim comme
 ^^^
ok, ok,  après une série d'adaptation et de chipos, on arrive également
à un mode "classique" ce qui démontre bien deux choses :

a) ce n'est pas l'esprit originel de vi(m)

b) les concepteurs ont également ressentis le besoin de faire +
classique...

(avantage et/ou inconvénient ;-) à première vue, nedit me semble plus
léger/simple que vim-gtk. 

> PS: Georges, tu ne coupes plus tes lignes à 80 caractères?

ben c'est le boulot de sylpheed, y'a un problème ? 
(en plus je coupe à 72 pas 80)

-- 
mailto:[EMAIL PROTECTED] tel: (33) 03 20 43 84 06   
INRETS, 20 rue Élisée Reclus fax: (33) 03 20 43 83 59   
BP 317 -- 59666 Villeneuve d'Ascq   
http://www3.inrets.fr/estas/mariano



Re: Script Shell

2002-12-16 Par sujet Yves Rutschle
On Mon, Dec 16, 2002 at 01:46:00PM +0100, Georges Mariano
wrote:
> > Pour quelle valeur de "classique"?
> 
> Très simple, si on prend un utilisateur qui débute [le
> contexte du chapitre de la FAQ et de la question posée],
> ce dernier s'attend a interagir avec un logiciel de
> manière "classique" (i.e souris, menus and co). On peut
> pas dire que ce sont les modes naturels de emacs et vim. 

Aaaah, "cette" valeur de classique.

A titre d'information, vim a un mode "easy" que l'on peut
activer avec vim -y, qui se met en mode "insertion
automatique", change certains raccourcis pour être plus
"classique" (pour la valeur de "classique" sus-citée), et
démarre avec interface graphique si possible. Les versions
récentes (c'est à dire de moins de 3 ans d'age) ont des
menus qui n'ont rien à envier à... erm... une application
avec menus.

Pour "preuve", ma copine utilise cette variante de vim comme
"super-notepad" sous Windows (notepad avec coloration
syntaxique et auto-indent) et elle se porte très bien.

/Y

PS: Georges, tu ne coupes plus tes lignes à 80 caractères?



RE: Script Shell

2002-12-16 Par sujet MAILLARD Xavier (Net Log)


-Message d'origine-
De: Erwan David [mailto:[EMAIL PROTECTED]
Date: lundi 16 décembre 2002 13:52
À: debian-user-french@lists.debian.org
Objet: Re: Script Shell



Le Mon 16/12/2002, Georges Mariano disait
> On Mon, 16 Dec 2002 12:26:07 +
> Yves Rutschle <[EMAIL PROTECTED]> wrote:
> 
> > > Un peu moins culturellement dépaysant : nedit
> > > 
> > > (c'est celui cité dans la FAQ car il est ... classique. )
> > 
> > Pour quelle valeur de "classique"?
> 
> Très simple, si on prend un utilisateur qui débute [le contexte du
> chapitre de la FAQ et de la question posée], ce dernier s'attend a
> interagir avec un logiciel de manière "classique" (i.e souris, menus
> and co). On peut pas dire que ce sont les modes naturels de emacs et
> vim.

>Le débutant ne *sais* *pas* se servir des menus et de la souris.

Ah ah ! C'est bon ça :) [++]

zeDek



Re: Script Shell

2002-12-16 Par sujet Erwan David

Le Mon 16/12/2002, Georges Mariano disait
> On Mon, 16 Dec 2002 12:26:07 +
> Yves Rutschle <[EMAIL PROTECTED]> wrote:
> 
> > > Un peu moins culturellement dépaysant : nedit
> > > 
> > > (c'est celui cité dans la FAQ car il est ... classique. )
> > 
> > Pour quelle valeur de "classique"?
> 
> Très simple, si on prend un utilisateur qui débute [le contexte du
> chapitre de la FAQ et de la question posée], ce dernier s'attend a
> interagir avec un logiciel de manière "classique" (i.e souris, menus
> and co). On peut pas dire que ce sont les modes naturels de emacs et
> vim.

Le débutant ne *sais* *pas* se servir des menus et de la souris.

-- 
Erwan



Re: Script Shell

2002-12-16 Par sujet Georges Mariano
On Mon, 16 Dec 2002 12:26:07 +
Yves Rutschle <[EMAIL PROTECTED]> wrote:

> > Un peu moins culturellement dépaysant : nedit
> > 
> > (c'est celui cité dans la FAQ car il est ... classique. )
> 
> Pour quelle valeur de "classique"?

Très simple, si on prend un utilisateur qui débute [le contexte du chapitre de 
la FAQ et de la question posée], ce dernier s'attend a interagir avec un 
logiciel de manière "classique" (i.e souris, menus and co). On peut pas dire 
que ce sont les modes naturels de emacs et vim. 

Avant de dériver vers le troll (pas le lundi !!), j'ajoute que je suis par 
avance d'accord avec tous ceux qui vont sauter sur leur clavier "Oui, mais 
...". Si je me souviens bien, je ne me suis mis à emacs qu'à partir de la 
version où des menus décents étaient proposés. Ça m'a servi pour la phase 
d'immersion, maintenant j'utilise plus que les raccourcis ... (i.e donc, vous 
fatiguez pas à me convaincre ;-)

{Ce n'est pas pour autant que je conseillerai emacs à quiconque...}

L'essentiel ici est, il me semble, de proposer une première solution "neutre" 
et de laisser l'utilisateur évoluer où bon lui semblera...

A+
-- 
mailto:[EMAIL PROTECTED] tel: (33) 03 20 43 84 06   
INRETS, 20 rue Élisée Reclus fax: (33) 03 20 43 83 59   
BP 317 -- 59666 Villeneuve d'Ascq   
http://www3.inrets.fr/estas/mariano



Re: Script Shell

2002-12-16 Par sujet Yves Rutschle
On Mon, Dec 16, 2002 at 11:33:44AM +0100, Georges Mariano wrote:
> 
> > >coloration et correction syntaxique. Si oui, sous X ?
> > 
> > Emacs est ton ami avec les différents modules qui vont bien (psgml,
> > html-mode ...)

Je confirme que vim (et donc toutes ses version graphiques)
colorise les scripts.
 
> Un peu moins culturellement dépaysant : nedit
> 
> (c'est celui cité dans la FAQ car il est ... classique. )

Pour quelle valeur de "classique"?

/Y



Re: Script Shell

2002-12-16 Par sujet Georges Mariano

> >coloration et correction syntaxique. Si oui, sous X ?
> 
> Emacs est ton ami avec les différents modules qui vont bien (psgml,
> html-mode ...)

Un peu moins culturellement dépaysant : nedit

(c'est celui cité dans la FAQ car il est ... classique. )

http://savannah.nongnu.org/download/debfr-faq/html/debfr-newbie.html#toc74

A+
-- 
mailto:[EMAIL PROTECTED] tel: (33) 03 20 43 84 06   
INRETS, 20 rue Élisée Reclus fax: (33) 03 20 43 83 59   
BP 317 -- 59666 Villeneuve d'Ascq   
http://www3.inrets.fr/estas/mariano



RE: Script Shell

2002-12-16 Par sujet STOJICEVIC Edi EXPSIA
>Bonjour à tous, 

SAlut,

>Etant sous Linux depuis 3 ans, je commence juste à faire des script shell. 
>Ma question est de savoir si il existe un soft permettant de faire de la 
>coloration et correction syntaxique. Si oui, sous X ?

Emacs est ton ami avec les différents modules qui vont bien (psgml,
html-mode ...)

>Par la même occasion, connaisez-vous des sites expliquant les bases du
script shell 
>(command, syntaxe, ...) 

www.debianworld.org/shellscript-fr.org contient pas mal de petites docs plus
une liste 
de diffusion.

>Merci 

A+

-- 
 .''`.   Debian GNU/Linux 3.0 released !   (\___/)
: :'  :Use it ! ;) (='.'=)
`. `~'   http://www.debianworld.org(")_(")
  `-   


*

Ce message et toutes les pièces jointes (ci-après le "message") sont
confidentiels et établis à l'intention exclusive de ses destinataires.
Toute utilisation ou diffusion non autorisée est interdite. 
Tout message électronique est susceptible d'altération. 
La SOCIETE GENERALE et ses filiales déclinent toute responsabilité au titre de 
ce message s'il a été altéré, déformé ou falsifié.



This message and any attachments (the "message") are confidential and
intended solely for the addressees.
Any unauthorised use or dissemination is prohibited. 
E-mails are susceptible to alteration.   
Neither SOCIETE GENERALE nor any of its subsidiaries or affiliates shall be 
liable for the message if altered, changed or falsified. 

*



Re: Script Shell

2002-12-16 Par sujet Frédéric Bothamy
* RUBI Julien <[EMAIL PROTECTED]> [2002-12-16 10:02] :
> Bonjour à tous,
> Etant sous Linux depuis 3 ans, je commence juste à faire des script shell.
> Ma question est de savoir si il existe un soft permettant de faire de la
> coloration et correction syntaxique. Si oui, sous X ?

Emacs (vim-gtk fait également cela, il me semble).

> Par la même occasion, connaisez-vous des sites expliquant les bases du
> script shell (command, syntaxe, ...)

Pas spécialement de site, mais le HOWTO Bash-Prog-Intro qui est
vraiment bien fait et est disponible dans le paquet doc-linux-text.

Fred



Re: Script Shell

2002-12-16 Par sujet Philippe Glaziou
RUBI Julien <[EMAIL PROTECTED]> wrote:
> Etant sous Linux depuis 3 ans, je commence juste à faire des script shell.
> Ma question est de savoir si il existe un soft permettant de faire de la
> coloration et correction syntaxique. Si oui, sous X ?

Emacs 


> Par la même occasion, connaisez-vous des sites expliquant les bases du
> script shell (command, syntaxe, ...)

The Advanced bash scripting guide pour les longues nuits d'hiver :

http://tldp.org/LDP/abs/html/

Et une intro beaucoup moins détaillée pour les nuits plus courtes :

apt-get install rutebook

-- 
Philippe 



Re: Script Shell

2002-12-16 Par sujet zorman cyril

RUBI Julien wrote:


Bonjour à tous,
Etant sous Linux depuis 3 ans, je commence juste à faire des script 
shell. Ma question est de savoir si il existe un soft permettant de 
faire de la coloration et correction syntaxique. Si oui, sous X ?


Par la même occasion, connaisez-vous des sites expliquant les bases du 
script shell (command, syntaxe, ...)

Merci


xemacs est ton ami
mais je pense que vim le fait aussi

cyril



Script Shell

2002-12-16 Par sujet RUBI Julien
Title: Script Shell





Bonjour à tous,
Etant sous Linux depuis 3 ans, je commence juste à faire des script shell. Ma question est de savoir si il existe un soft permettant de faire de la coloration et correction syntaxique. Si oui, sous X ?

Par la même occasion, connaisez-vous des sites expliquant les bases du script shell (command, syntaxe, ...)
Merci





Re: cryptage password ds script shell

2002-07-21 Par sujet Christophe « CHiPs » PETIT
Le dim 21/07/2002 à 16:22, Eric Leclercq a écrit :
> Autant utiliser 'mkpasswd' (dans le package 'whois') qui est
> un «Overfeatured front end to crypt(3)»  :)

J'utilise ce script pour créer des utilisateurs :

8<---

#! /bin/sh
#   2001-11 CHiPs
#   créer les utilisateurs à partir d'un  fichier
#   ne pouvait malheureusement pas mettre les mots de passe
#   car le passwd de la potato ne comprend pas l'option --stdin
#   (corrigé avec l'utilisation de chpasswd)
#   ne contient pas les groupes auxquels appartiennent les utilisateurs
#   le fichier d'entrée est sous la forme :
#   login   passalias   mailgecos
#   tototititata[EMAIL PROTECTED]   Toto Larico
#   mettre - pour l'alias de mail (surnom) s'il n'y en a pas

# pour mettre dans /etc/aliases
echo "# alias utilisateurs" > alias.txt

# pour créer effectivement les comptes
echo "#! /bin/sh" > users.sh

# pour mettre en place les .forward
echo "#! /bin/sh" > forwards.sh

# pour affecter les mots de passe automatiquement
rm -f passwd.txt
touch passwd.txt
chmod 600 passwd.txt

while read login pass alias mail gecos
do
echo "" >> users.sh
echo $login,$pass,$alias,$mail,$name
echo adduser --disabled-password --gecos \"$gecos\" $login >> users.sh
# ne fonctionne pas, il faudrait pouvoir utiliser passwd --stdin
#echo cat pass/$login | passwd $login
echo $login:$pass >> passwd.txt
echo su - $login -c \"echo $mail \> ~$login/.forward\" >> forwards.sh
if expr $alias != '-' > /dev/null ;
then
echo il y a un alias pour $login qui est $alias.
echo $alias:$login >> alias.txt
fi
done

echo "" >> users.sh
echo "chpasswd < passwd.txt" >> users.sh

8<---

Ce qui est intéressant, c'est :

le « --disabled-password » pour créer le compte sans possibilité de
login au départ,

la commande chpasswd qui évite que le mot de passe se balade en clair en
tant qu'argument de ligne de commande et qui crypte la chose comme il
faut... Pour ne créer qu'un utilisateur à la fois, on doit pouvoir faire
un truc du style « echo 'login:passwd' | chpasswd ».

C'est fait sur une bonne vieille patate et « chpasswd » vient du paquet
« passwd » qui fait partie de la section « base », donc il n'est guère
facile de ne pas en disposer !

Autrement, avec Woody, peut-être que « passwd » comprend l'option qui va
bien : « --stdin » ?

Hop !

-- 
Christophe «CHiPs» PETIT <[EMAIL PROTECTED]> http://chips.free.fr/
Linux-Nantes: partagez votre savoir http://www.linux-nantes.fr.eu.org/
Debian: When Code Matters More Than Commercials http://www.debian.org/  
[E=mc2 Albert Enstein.]


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: cryptage password ds script shell

2002-07-21 Par sujet ch045-2
Je persiste et je signe:

sur ma station à la maison:
$man passwd
NAME
   mkpasswd - generate new password, optionally apply
   it to a user

SYNOPSIS
   mkpasswd [ args ] [ user ]

INTRODUCTION
   mkpasswd generates passwords and  can  apply  them
   automatically  to users.  mkpasswd is based on the
   code from Chapter 23 of the O'Reilly book "Explor­
   ing Expect".

$ mkpasswd
m0rw4YTfu
$mkpasswd mypass
passwd: Only root can specify a username

CQFD...

Mon serveur ne renvoi rien (j'ai installé au plus juste):
$ man mkpasswd
Aucune entrée de manuel pour mkpasswd


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: cryptage password ds script shell

2002-07-21 Par sujet Romain DEGEZ
Le dim 21/07/2002 à 17:47, ch045-2 a écrit :
> Par defaut, la page man du mkpasswd de ma station renvoit:
> "mkpasswd generates passwords and can apply them automatically to users. 
> mkpasswd is based on the code from Chapter 23 of the O'Reilly book "Exploring 
> Expect". "
> Pour moi cette fonction ne remplie pas les conditions recherchées.
> Elles génere un nouveau mot de passe, elle ne crypte pas un mot de passe 
> existant!
> Je trouve un peu lourd d'installer whois pour génerer un mot de passe.
> Je reste donc sur la proposition de Romain.
> 
> Encore merci et bonne soirée à tous.
> 

Hum c'est etrange ce que tu nous dis la...

NAME
   mkpasswd - Overfeatured front end to crypt(3)

SYNOPSIS
   mkpasswd PASSWORD SALT

DESCRIPTION
   mkpasswd  encrypts  the  given  password with the crypt(3)
   libc function using the given salt.


~> mkpasswd passwd_en_clair
j3YSc52PxkXz2

Ce qui a l'air tout a fait correct pour faire ce que tu recherches ?!

Ne confonds tu pas avec makepasswd qui lui ne prend pas d'argument
et genere un mot de passe totalement aleatoire ?

-- 
DEGEZ Romain   -- EPITECH Promo 2006
Administrateur Systemes & Reseaux pour SmartJog (Video broadcasting)
President de Cycom l'assocation de jeux en reseau de l'EPITA/EPITECH
Debian GNU/Linux user  -- UIN: 10806422 --  mail: [EMAIL PROTECTED] 
GPG Fingerprint :  FD0B AF56 EDC1 98ED 95B9 636F B5D2 4CAB 0B36 3FE2


signature.asc
Description: PGP signature


Re: cryptage password ds script shell

2002-07-21 Par sujet ch045-2
Par defaut, la page man du mkpasswd de ma station renvoit:
"mkpasswd generates passwords and can apply them automatically to users. 
mkpasswd is based on the code from Chapter 23 of the O'Reilly book "Exploring 
Expect". "
Pour moi cette fonction ne remplie pas les conditions recherchées.
Elles génere un nouveau mot de passe, elle ne crypte pas un mot de passe 
existant!
Je trouve un peu lourd d'installer whois pour génerer un mot de passe.
Je reste donc sur la proposition de Romain.

Encore merci et bonne soirée à tous.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: cryptage password ds script shell

2002-07-21 Par sujet Romain DEGEZ
Le dim 21/07/2002 à 16:22, Eric Leclercq a écrit :
> Autant utiliser 'mkpasswd' (dans le package 'whois') qui est
> un «Overfeatured front end to crypt(3)»  :)

Bien vu :)
Il s'etait caché dans le package whois le fourbe :)

C'est effectivement le moyen le plus propre pour le script d'Eric. 

-- 
DEGEZ Romain   -- EPITECH Promo 2006
Administrateur Systemes & Reseaux pour SmartJog (Video broadcasting)
President de Cycom l'assocation de jeux en reseau de l'EPITA/EPITECH
Debian GNU/Linux user  -- UIN: 10806422 --  mail: [EMAIL PROTECTED] 
GPG Fingerprint :  FD0B AF56 EDC1 98ED 95B9 636F B5D2 4CAB 0B36 3FE2


signature.asc
Description: PGP signature


Re: cryptage password ds script shell

2002-07-21 Par sujet Eric Leclercq
Autant utiliser 'mkpasswd' (dans le package 'whois') qui est
un «Overfeatured front end to crypt(3)»  :)

-- 
Eric Leclercq

"Un ouapiti, c'est vert, ça a des piquants ronds
et ça fait glop quand on le jette à l'eau."
  Boris Vian - L'herbe rouge


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



  1   2   >