Ce que je voudrais faire est quelque chose comme ce qui suit:Comment utilisez-vous les variables de script shell comme arguments pour sed?
#!/bin/sh
EMAIL="-e 's/SOMETHING//g'"
somecommand | sed "$EMAIL"
Mais j'obtiens ce qui suit:
sed: -e expression #1, char 2: unknown command: `''
J'ai essayé beaucoup de variations. Je sais que c'est juste une question de chaîne. La raison pour laquelle je voudrais faire cela est de casser une longue commande sed pour la lisibilité. Devrais-je simplement utiliser un fichier script sed (avec l'option -f) à la place?
MISE À JOUR:
Mon script actuel est un peu plus complexe:
#!/bin/sh
EMAIL="-e s/SOME THING//g -e s/SOME THING ELSE//g ..."
somecommand | sed "$EMAIL"
Après avoir enlevé les guillemets simples je reçois:
sed: -e expression #1, char 18: unknown option to `s'
C'est parce que vous faites quelque chose de complètement différent. – Swoogan