Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1623 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Commande pipée qui n'en fini pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Commande pipée qui n'en fini pas

n°1158241
bichtoubar​d
Posté le 26-08-2009 à 18:04:32  profilanswer
 

Bonjour à tous,
 
Je ne comprend pas pourquoi quand je fais :

Code :
  1. [root@serv:] sudo -l 2>&1
  2. >>> sudoers file: syntax error, line 1 <<<
  3. sudo: parse error in /opt/sfw/etc/sudoers near line 1
  4. [root@serv]


 
(Donc j'ai le prompt tout de suite après)
 
Par contre quand je fais :
 

Code :
  1. sudo -l 2>&1 | grep "syntax"
  2. >>> sudoers file: syntax error, line 1 <<<


 
Ca mouline pendant 3 plombes avant de me redonner la main.
 
Avez vous une idée ?
 
Merci

mood
Publicité
Posté le 26-08-2009 à 18:04:32  profilanswer
 

n°1158320
splurf
Rm -Rf / && oops :o
Posté le 26-08-2009 à 23:36:33  profilanswer
 

que cherches tu à faire ?

n°1158353
bichtoubar​d
Posté le 27-08-2009 à 09:08:05  profilanswer
 

J'ai des machines sur lesquelles je ne peux pas vérifier la syntaxe de mon fichier sudoers avec visudo -c -f <fichier>
 
Donc j'ai écrit un script :

Code :
  1. cat $SUDOERS > /tmp/sudoers.save
  2. cat /tmp/sudoers > $SUDOERS
  3. sudo_ret=`sudo -l 2>&1| grep syntax | wc -l`
  4. cat /tmp/sudoers.save > $SUDOERS
  5. echo "" > /tmp/sudoers.save
  6. rm /tmp/sudoers.save
  7. if [ $sudo_ret -eq 0 ]; then
  8.    echo "Status: OK/0\nEND"
  9.    exit 0;
  10. else
  11.   echo "Status: KO/64\nEND"
  12.   exit 64;
  13. fi
  14. fi


 
Mais du coup il est horriblement long ...
 
Comment accélérer le processus ?


Message édité par bichtoubard le 27-08-2009 à 09:22:10
n°1158366
bichtoubar​d
Posté le 27-08-2009 à 09:43:14  profilanswer
 

Bon je suis passé par un fichier, mais si vous avez des idées je suis quand même preneur par curiosité.
 
En effet, je pensais que le pipe faisait un dump de stdout vers un fichier pour le traiter, or apparemment ce n'est pas le cas puisque ça ne fonctionne pas pareil que quand moi je fais un dump de stdout pour traitement.
 
Donc comment fonctionne le pipe ?

n°1158376
splurf
Rm -Rf / && oops :o
Posté le 27-08-2009 à 10:09:08  profilanswer
 

sudo -l >/dev/null 2>&1 && echo OK || echo KO

n°1158443
bichtoubar​d
Posté le 27-08-2009 à 12:32:57  profilanswer
 

Bonne idée mais ce n'est pas réalisable dans mon cas !
 
En effet, "echo OK" va s'exécuter que si la valeur de retour est 0, ce qui n'est pas forcément le cas, par exemple si le user qui lance "sudo -l" n'est pas habilité à lancer des commandes.
 
Mais ça ne voudra pas dire pour autant qu'il y a une erreur de syntaxe dans le fichier sudoers...
 
C'est pour ça que je passe par un grep

n°1158463
twocats
Posté le 27-08-2009 à 13:50:43  profilanswer
 

Citation :

sudo_ret=`sudo -l 2>&1| grep syntax | wc -l`


En plus propre :

Citation :

sudo_ret=$(sudo -l 2>&1| grep -cF syntax)


My 2 cents.


---------------
La réponse est 42
n°1159684
bichtoubar​d
Posté le 31-08-2009 à 12:53:48  profilanswer
 

Citation :


grep: illegal option -- F


 
Mais merci je retiens l'astuce.


Message édité par bichtoubard le 31-08-2009 à 12:54:02
n°1159806
twocats
Posté le 31-08-2009 à 19:12:40  profilanswer
 

Citation :

grep: illegal option -- F


gné ?
man grep :

Citation :

-F, --fixed-strings
    Interpréter le MOTIF comme une liste de chaînes de caractères, séparées par des sauts de ligne. Chacune d'entre elles doit être recherchée.


Tu es sous Ubuntu (ATTENTION, cette question contient un troll en elle-même !) ?


---------------
La réponse est 42
n°1159881
bichtoubar​d
Posté le 01-09-2009 à 09:28:33  profilanswer
 

Non je ne suis pas sous Ubuntu, j'ai besoin de commandes qui peuvent s'executer sur plusieurs types d'Unix (HP-UX, Solaris, AIX, Linux) donc c'est pas toujours les commandes GNU de base.

mood
Publicité
Posté le 01-09-2009 à 09:28:33  profilanswer
 

n°1159929
twocats
Posté le 01-09-2009 à 11:18:51  profilanswer
 

Oki, le -c fonctione au moins ?


---------------
La réponse est 42

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Commande pipée qui n'en fini pas

 

Sujets relatifs
Historique des commande commun à tout les terminaux?XFree86 erreur sur commande startx
Scipt bash: formater la commande pour un pslost connection commande SCP / RSYNC
Problème commande bashExecuter une commande shell periodiquement
Donner le pouvoir à un utilisateur d'exécuter une commande rootAide analyse de la commande top sous linux
Commande pour copie de fichier en boucle sous linuxCommande création utilisateur FreeBSD
Plus de sujets relatifs à : Commande pipée qui n'en fini pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR