Problème script LINUX

Résolu
PourAider Messages postés 46 Statut Membre -  
PourAider Messages postés 46 Statut Membre -
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. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    quel shell utilise tu ?
    0
  2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut

    Avec la commande : expr "$nom" : "\(.\)" qui va te renvoyer la première lettre de la variable nom, tu devrais pouvoir t'en sortir ;)
    0
    1. PourAider Messages postés 46 Statut Membre 2
       
      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)
      0
  3. Sib
     
    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..

    ;)
    0
    1. PourAider Messages postés 46 Statut Membre 2
       
      Oui c'est un bash, j'essai ta commande. Merci
      0
    2. PourAider Messages postés 46 Statut Membre 2
       
      Merci Sib, sa fonctionne !!!
      0