doubles quotes dans une option

Vincent Lefevre vincent at vinc17.org
Thu Jan 17 14:46:30 CET 2013


On 2013-01-17 14:35:54 +0100, Vincent Lefevre wrote:
> eval ls $OPT

En fait, plutôt: eval ls "$OPT"
au cas où il y aurait des espaces doubles.

Un exemple:

$ OPT="-l --time-style='+%Y-%m-%d  %H:%M:%S'"

(Les 2 espaces dans la chaîne du --time-style sont voulus.)

$ eval ls "$OPT"

Sans les guillemets, $OPT est sujet au "word splitting", donc toute
succession d'espaces dans la chaîne va être remplacée par un seul
espace dans la chaîne produite par eval pour le shell.

-- 
Vincent Lefèvre <vincent at vinc17.net> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)


More information about the Shell mailing list