Definition variables en sh

Résolu/Fermé
snow_frog Messages postés 216 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 26 juin 2020 - 10 janv. 2013 à 10:56
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 10 janv. 2013 à 11:09
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
10 janv. 2013 à 11:00
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 jeudi 5 février 2009 Statut Membre Dernière intervention 26 juin 2020 139
10 janv. 2013 à 11:07
merci bien pour cette solution plus efficace !
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
10 janv. 2013 à 11:09
Voir man sh - développement des paramètres pour plus de détails.
0