Linux - Erro de sintaxe ao emitir o comando

4

Eu recebo um erro de sintaxe ao usar a seguinte condição se em um script bash.

if [ -f $pid_file ] && [ $check_run_proc == *"my_proc"* ] && kill -0 $(cat "$pid_file"); then

Você pode, por favor, identificar qual é o problema?

Obrigado.

    
por croussou 12.06.2015 / 16:39

1 resposta

3

Você precisa usar a palavra especial [[ do bash e o operador =~ para corresponder às expressões regulares. Esse if -clause deveria fazer isso:

if [ -f "$pid_file" ] && [[ "$check_run_proc" =~ "my_proc" ]] && 
   kill -0 $(cat "$pid_file"); then
    
por 12.06.2015 / 16:48

Tags