Definition variables en sh

Résolu
snow_frog Messages postés 216 Date d'inscription   Statut Membre Dernière intervention   -  
zipe31 Messages postés 36402 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

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
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
snow_frog Messages postés 216 Date d'inscription   Statut Membre Dernière intervention   139
 
merci bien pour cette solution plus efficace !
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Voir man sh - développement des paramètres pour plus de détails.
0