transferer le contenu d'un fichier dans une variable

romac

Membre actif
2 Septembre 2005
125
3
35
Comment transferer le contenu d'un fichier dans une variable ?
un fichier s'appelle : essai
il contient : il fait beau
j'aimerai le recuperer dans une variable , comment faire .

merci beaucoup
 
Comment transferer le contenu d'un fichier dans une variable ?
un fichier s'appelle : essai
il contient : il fait beau
j'aimerai le recuperer dans une variable , comment faire .

merci beaucoup
heu, comment dire... tu veux une réponse je suppose... bon alors voilà :

En quel langage ? (c'est le strict minimum pour qu'on puisse t'aider ;))

:rateau:
 
scusez moi , en unix merci .

c'est quoi en unix ?:rateau: ( Uniplexed Operating and Computing System : UNICS -> UNIX )

sinon en bash ( bourne again shell ) :
Bloc de code:
hostname:~ username$ export myfilecontent=`cat /etc/motd`
hostname:~ username$ echo $myfilecontent
en utilisant d'autres cmds ...

Bloc de code:
hostname:~ username$ php -r "echo readfile('/etc/motd');"
hostname:~ username$ echo "\$file = '/etc/motd'; open(INFO, \$file);@lines = <INFO>;close(INFO);print @lines;" > /tmp/p.pl
hostname:~ username$ perl /tmp/p.pl
 
j'écrit comme vous et pourtant

export ess='cat ~/start_base/variablev_que_faire'
echo $esscat
et l'ordi repond :
cat ~/start_base/variablev_que_faire

alors qu'il y a toto dans : variablev_que_faire
 
j'&#233;crit comme vous et pourtant

export ess='cat ~/start_base/variablev_que_faire'
echo $esscat
et l'ordi repond :
cat ~/start_base/variablev_que_faire

alors qu'il y a toto dans : variablev_que_faire

non ce n'est pas ce que j'ai marqu&#233;

de plus

Bloc de code:
hostname:~ username$ env
Bloc de code:
 hostname:~ username$ touch $HOME/myfile
 hostname:~ username$ echo "Hello World" > $HOME/myfile
 hostname:~ username$ export f=`cat $HOME/myfile`
 hostname:~ username$ echo $f
 hostname:~ username$ rm -f $HOME/myfile


ou variante pour lourdo
pour te montrer que les simples qualifiers ce n'est pas vraiment ce que j'ai utilis&#233;

Bloc de code:
 hostname:~ username$ touch $HOME/myfile
 hostname:~ username$ echo "Hello World" > $HOME/myfile
 hostname:~ username$ export f=$(cat $HOME/myfile)
 hostname:~ username$ echo $f
 hostname:~ username$ rm -f $HOME/myfile
 
j'écrit comme vous et pourtant

export ess='cat ~/start_base/variablev_que_faire'
echo $esscat
et l'ordi repond :
cat ~/start_base/variablev_que_faire

alors qu'il y a toto dans : variablev_que_faire
Ce que tatouille veut t'expliquer c'est qu'il faut bien lire (et comprendre) avant de dire que &#231;a marche pas :

tu utilises des simplequotes alors qu'il utilise des accents graves (` et pas ')
Et ce qui est entre ces accents graves est interpr&#233;t&#233; alors qu'entre les apostrophes (simple quote) c'est une simple cha&#238;ne de caract&#232;re.

l'autre m&#233;thode (mais celle l&#224; &#231;a ne marche que dans un shell je pense) c'est entre $( et ) comme &#231;a c'est direct dans une variable utilisable dans un shell script.
Mais je trouve &#231;a moins propore et apparemment tatouille est d'accord (pour lourdo)


:)
 
  • J’aime
Réactions: p4bl0
Parce que tu sais pas lire ? :D


ne pas le rpendre mal :rateau:
Dans un script un peu complexe, on a vite fait de confondre ` avec ', c'est tout. $(), c'est plus lisible.
 
D'accord avec FjRond sur ce point de lisibilit&#233;.
En g&#233;n&#233;ral, n'&#233;tant pas un hacker et n'&#233;tant pas tr&#232;s malin, je pr&#233;f&#232;re &#233;crire mes scripts (ou mes programmes) de la fa&#231;on la plus lisible possible, de sorte que m&#234;me moi j'arrive &#224; me relire ... ;)
 
D'accord avec FjRond sur ce point de lisibilit&#233;.
En g&#233;n&#233;ral, n'&#233;tant pas un hacker et n'&#233;tant pas tr&#232;s malin, je pr&#233;f&#232;re &#233;crire mes scripts (ou mes programmes) de la fa&#231;on la plus lisible possible, de sorte que m&#234;me moi j'arrive &#224; me relire ... ;)
Moi je pr&#233;f&#232;re la m&#233;thode avec ` parce qu'on la retrouve en PHP, qui est le premier langage que j'ai appris.

Et &#231;a se retrouve dans d'autre langage aussi, comme Perl par exemple :)


Enfin du moment qu'il y a de quoi contenter tout le monde ;)
 
Bloc de code:
getInterfaces=`ifconfig -lu`

echo " "

for Interface in $getInterfaces; do

    getInet=`ifconfig $Interface | sed -n -e "s/^.*inet //g" -n -e "s/ netmask.*//p"`
    getEther=`ifconfig $Interface | sed -n -e "s/^.*ether //p"`
    getmtu=`ifconfig $Interface | sed -n -e "s/^.*mtu //p"`

    echo "interface" $Interface
        
    for inet in $getInet; do
        getBcast=`ifconfig $Interface | sed -n -e "s/^.*$inet.*.broadcast//p"`
        
        if [ "${inet}" != "-->" ]; then
            echo "    inet" $inet
            
            if [ "${getBcast}" != "" ]; then
                echo "    broadcast" $getBcast
            fi
        fi
        
    done
            
    if [ "${getEther}" != "" ]; then
        echo "    mac" $getEther

    fi
    
    if [ "${getmtu}" != "" ]; then
        echo "    mtu" $getmtu

    fi
            
    echo " "
            
done

exit
Bloc de code:
md5=$(echo $(openssl md5 $1 2>/dev/null) | cut -d'=' -f2) 

echo ${md5&#37;%' '} $1
 
Note que je ne conteste pas l'int&#233;r&#234;t de la d&#233;monstration ... mais quel est le but :confused: ? :D
Montrer les deux mani&#232;res d'ex&#233;cuter une commande &#224; l'int&#233;rieur d'une autre ?
 
oui entre autre :D

1 -je veux juste montrer pour ceux qui veulent tester que parfois tu dois mixer
les deux pour t'en sortir
2 - ca reste lisible
3 - `exp` est une syntax tres commune en prog et en C c'est incontournable :p
 
oui entre autre :D
3 - `exp` est une syntax tres commune en prog et en C c'est incontournable :p

N'oubliez pas tout de m&#234;me que tous les usagers du shell ne sont pas des programmateurs. De C, point n'ai besoin (personnellement).
D'autre part, m&#234;me si ce n'est pas parole d'&#233;vangile (dans ce domaine, il me semble que le dogmatisme ne soit pas de mise), Ch. Blaess (qui a coordonn&#233; la traduction des man en fran&#231;ais), dans son livre sur les scripts sous Linux, tient tient la syntaxe &#171; ``&#187; pour obsol&#232;te.
 
Disons qu'il faut garder &#224; l'esprit le motto de PERL : "[SIZE=-1]There's more than one way to do it."

Un point m'&#233;tonne : quand donc utilises-tu "`" en C :confused:
[/SIZE]