[shell] Problème sur un script

Résolu
Bonjour,

j'aurais besoin d'un coup de main sur un tout petit script.

Voila, je m'entraine un peu au bash et j'essai d'ecrire un scrip qui me donnerais le uid le plus haut de mon fichier /etc/passwd sur linux.

Mais voila, ca ne fonctionne pas.

je vous transmet le debut de scrip et si vous pouvez me dire ce qui ne vas pas :

#!/bin/sh
cat /etc/passwd |grep home |while read var
do
old=$IFS
IFS=:
set $var
$3>>essai1 A PRIORI C'EST CETTE LIGNE QUI NE VA PAS
tail -1 essai1
IFS=$old
done

Merci par avance pour votre aide

Lonewolfs
Configuration: Linux
Firefox 2.0.0.4

3 réponses

  1. Et bien merci beaucoup à tous les deux.

    Effectivement, il y a plus simple que le gros script que j'avais commencé.

    Merci encore car ca m'a permis de mieux comprendre et de voir une autre facon de faire.

    Amitiés
    1. Modérateur
      Salut,
      #!/bin/sh
      
      cat /etc/passwd |grep home |while read var
      do
      old=$IFS
      IFS=:
      set $var
      echo ${3} >> essai1 
      IFS=$old
      done
      sort -n essai1 | tail -1
      Sinon, pour faire plus simple :
      grep /home /etc/passwd | sort -n +2 -t : | tail -1 | cut -d : -f3
      ;-))
      1. Bonjour,

        ça ne répondra peut-être pas tout à fait à ta question:
         cat /etc/passwd|cut -f3 -d:|sort -n|tail -1
        1. oublié de restreindre sur /home ;-)
          grep "/home" /etc/passwd|cut -f3 -d:|sort -n|tail -1