A saída na variável não deve ser interpretada como um comando [duplicado]

1

Então essa pergunta já foi feita algumas vezes, mas as respostas não parecem funcionar para mim. Então eu tenho este script simples

#!/bin/bash
charon_id = $(pidof charon)
kill -1 $charon_id

E o console diz charon_id: command not found *

Eu tentei versões diferentes, com " em torno do $( ) , ; após as linhas, até mesmo o $(... 2>&1) que vi em algum lugar. Nada ajudou até agora. Sugestões?

* traduzido do idioma do console para o inglês

    
por GreenThor 15.07.2016 / 14:51

1 resposta

5

Seu problema é com espaços

Você escreveu

charon_id = $(pidof charon)

Isso significa "executar o comando charon_id com dois parâmetros; primeiro é o caractere = e o segundo é a saída do comando $(..)

Deve ser

charon_id=$(pidof charon)

Agora você atribui a saída à variável.

    
por 15.07.2016 / 15:03