Tarefa Upstart: Passe o comando com aspas escapadas para a estrofe exec

1

Eu tenho um trabalho iniciante chamado server.conf para iniciar um servidor de jogo que contém o seguinte

#!upstart

exec /srv/l4d2/srcds_run -game left4dead2 -tickrate 30 -maxplayers 8 -ip 192.168.1.1 "+map \"c1m1_hotel versus\"" +exec server.cfg

Quando executo start server.conf , o trabalho não é iniciado e o arquivo de log informa / bin / sh: 1: / bin / sh: Erro de sintaxe: string entre aspas não terminada

Quando executado diretamente no console, o comando funciona bem. Então, como usá-lo na estrofe exec sem quebrá-lo?

    
por Pesh Melba 09.12.2016 / 03:51

1 resposta

0

A chave está no programa que emitiu a mensagem de erro: /bin/sh . As regras de cotação do sh não reconhecem " \" ". Veja man sh . Use aspas simples " ' ".

exec /srv/l4d2/srcds_run -game left4dead2 -tickrate 30 -maxplayers 8 -ip 192.168.1.1 "+map 'c1m1_hotel versus'" +exec server.cfg
    
por waltinator 09.12.2016 / 22:43