[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. 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
  2. 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. 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