Problème script LINUX

Résolu
Bonjour,

Je vous demande de l'aide concernant un problème tout bête (enfin pas si bête, car je n'arrive pas à le resoudre !!!)

Je cherche à enregistrer la première lettre d'un mot en script linux.

Je m'explique :

echo "Nom utilisateur :"
read nom

Je voudrais que l'on enregistre la premiere lettre de la variable nom (si Nom utilisateur = truc, la variable nom doit prendre la valeur de "t")

Si quelqu'un peut m'aider;

merci

3 réponses

  1. Contributeur
    Salut

    Avec la commande : expr "$nom" : "\(.\)" qui va te renvoyer la première lettre de la variable nom, tu devrais pouvoir t'en sortir ;)
    1. Voici ma syntaxe (qui doit surement pas être la bonne) :

      echo "Entrer un nom d'utilisateur"
      read nom
      expr expr "$nom" : "\(.\)"

      Voici maintenant le resultat :
      Entrer un nom d'utilisateur
      truc
      0 (avec la commande expr, il m'affiche le nombre 0)
  2. Bonjour,

    Tout dépend si le script est écrit en bash ou non.
    # En bash
    nom=${nom:0:1}
    
    # Sinon, en moins joli
    nom=`echo $nom | sed -r 's/^(.).+/\1/'`
    

    Il y a peut-être d'autres possibilités, mais je ne les ai pas en tête..

    ;)
    1. Oui c'est un bash, j'essai ta commande. Merci
    2. Merci Sib, sa fonctionne !!!