Eu estou tentando incorporar um patch em um script bash - não consigo patch para ler o patch de uma variável

0
read -d '' PATCH_OS <<EOF

//PATCH//TEXT//

EOF

patch -b < ${PATCH_OS}

Isso falha:

./script.sh: line 39: --- //PATCH//TEXT//

(a linha 39 é "patch -b < $ {PATCH_OS}" ")

    
por fg76d76 10.01.2015 / 07:29

1 resposta

0

Não é assim que os redirecionamentos funcionam. < redireciona a entrada de um arquivo ; se você especificar uma variável, seu conteúdo será considerado o nome do arquivo . Você estaria procurando por <<< . E não se esqueça de colocar aspas em torno do "$variable" , caso contrário, o bash dividirá seu valor por espaços.

(Exceto em seu script de exemplo, a variável é inútil. Basta usar patch -b <<EOF diretamente).

    
por 10.01.2015 / 08:19