Quello che vorrei fare è qualcosa di simile al seguente:Come si usano le variabili di script della shell come argomenti su sed?
#!/bin/sh
EMAIL="-e 's/SOMETHING//g'"
somecommand | sed "$EMAIL"
ma ottengo il seguente:
sed: -e expression #1, char 2: unknown command: `''
ho provato molte varianti. So che è solo questione di far quotare la stringa giusta. La ragione per cui mi piacerebbe farlo è di rompere un lungo comando per la leggibilità. Dovrei semplicemente usare un file script sed (con l'opzione -f)?
UPDATE:
Il mio script reale è un po 'più complessa:
#!/bin/sh
EMAIL="-e s/SOME THING//g -e s/SOME THING ELSE//g ..."
somecommand | sed "$EMAIL"
Dopo aver rimosso le virgolette singole ottengo:
sed: -e expression #1, char 18: unknown option to `s'
Questo perché stai facendo qualcosa di completamente diverso. – Swoogan