Comandos dentro do bash não sendo interpretados?

0

Estou tentando executar um comando dentro de um script bash, $ (pwd) não está sendo interpretado, e nem mesmo usando eval.

Isso não funciona:

cat apache-vhost.conf | sed 's/{path}/$(pwd)/g'

Nem isso:

eval cat apache-vhost.conf | sed 's/{path}/$(pwd)/g'

Como isso pode ser resolvido?

    
por user1091856 26.03.2014 / 19:45

1 resposta

3

Você está usando aspas simples na expressão sed , o que impediria a expansão das variáveis. Use aspas duplas. Além disso, use um separador diferente de / :

sed "s|{path}|$(pwd)|g" apache-vhost.conf

Além disso, cat file | sed é um uso inútil de cat .

    
por 26.03.2014 / 19:47