Comando canalizado de saída para variável

0

Eu estou tentando escrever um pequeno script para criar um arquivo JSON. Eu tenho que armazenar certificados SSL dentro deste json, então eu tenho que converter o arquivo CRT / KEY para o formato necessário.

Existe uma solução para armazenar o resultado de:

cat $domain.key | sed s/$/\n/ | tr -d '\n'

dentro de uma variável (bash.script)

input_key='cat $domain.key | sed s/$/\n/ | tr -d '\n''

Não executa o "sed" após o gato (-:

    
por opHASnoNAME 22.09.2015 / 14:30

1 resposta

1

Isso vai funcionar:

input_key=$(cat ${domain}.key | sed 's/$/\n/' | tr -d '\n')

O sed está sendo executado em seu exemplo, mas acredito que algo nos bits de regex está sendo interpretado pelo shell. Você simplesmente precisa envolver o regex entre aspas simples para evitar qualquer interpretação de shell. O seguinte também funciona:

input_key='cat ${domain}.key | sed 's/$/\n/' | tr -d '\n''
    
por 22.09.2015 / 14:40