server.conf
我有一个名为启动游戏服务器的upstart 作业,其中包含以下内容
#!upstart
exec /srv/l4d2/srcds_run -game left4dead2 -tickrate 30 -maxplayers 8 -ip 192.168.1.1 "+map \"c1m1_hotel versus\"" +exec server.cfg
当我运行时 start server.conf
,作业没有启动,日志文件显示/bin/sh: 1: /bin/sh: 语法错误:未终止的引用字符串
直接在控制台中运行该命令时,它工作正常。那么如何在不破坏它的情况下在 exec 节中使用它呢?
答案1
关键在于发出错误消息的程序:/bin/sh
。shellsh
的引用规则无法识别“ \"
”。请参阅man sh
。请改用单引号“ '
”。
exec /srv/l4d2/srcds_run -game left4dead2 -tickrate 30 -maxplayers 8 -ip 192.168.1.1 "+map 'c1m1_hotel versus'" +exec server.cfg