J'écris un script qui essaie d'insérer un nom de répertoire dans une commande pax et je ne suis pas sûr de savoir comment corriger la syntaxe. C'est ce que j'essaie, mais il semble que le $ DIRNAME soit traité comme faisant partie de la chaîne regex.Comment insérer une variable de script dans une chaîne regex?
DIRNAME=$(tar -tvf $1 | head -1 | sed -e 's:^.* \([^/]*\)/.*$:\1:')
pax -r -f $1 -s'/$DIRNAME\/upload\///'
Merci!
qui ne fonctionne pas. Le problème est que $ DIRNAME ne fait pas écho au contenu de DIRNAME, mais insère simplement la chaîne de texte $ DIRNAME elle-même dans la chaîne regex. – user77413
Sur quel shell le script est-il exécuté? frapper? tcsh? –
Désolé, je l'ai encore essayé et l'erreur que j'ai eu était avec la commande pax, pas le $ DIRNAME une fois que je l'ai doublé. J'utilise bash. – user77413