Definition variables en sh

Résolu
snow_frog Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

sur un petit script sh, je voudrais attribuer à une variable une partie du contenu d'une autre variable:

#!/bin/sh

VAR1=niveau_inter.loi

echo $$VAR1 > tmp_file	
sed -i -e 's/.loi/ /' tmp
VAR2='cat tmp'


echo $VAR1
echo $VAR2

j'obtiens donc

 home/snow_frog > script.sh
niveau_inter.loi
niveau_inter
home/snow_frog > 


c'est ce que je veux obtenir, mais je suis sur qu'il peut y avoir plus simple/optimisé que

<code
echo $$VAR1 > tmp_file
sed -i -e 's/.loi/ /' tmp
VAR2='cat tmp'</code>

avec une ligne sed non ?

2 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Avec l'expansion des paramètres :

    $ VAR1=niveau_inter.loi
    
    $ echo ${VAR1}
    niveau_inter.loi
    
    $ echo ${VAR1%.*}
    niveau_inter
    
    $ echo ${VAR1/\.*/}
    niveau_inter
    
    $ 

    0
  2. snow_frog Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   139
     
    merci bien pour cette solution plus efficace !
    0