2016-07-06 124 views
1

我試圖管我的命令的輸出systemd到一個文件中使用>> 像this問題管道systemd輸出到一個文件

不幸的是,結果我回來做出來,就好像原來的命令我正在運行使用>>作爲開關,並不認識它。

我做同樣的事情,使用以前的暴發戶,但沒有遇到這個錯誤:(

這是我systemd.service文件:

[Unit] 
Description=ss13_server 
[Service] 
User=ss13 
WorkingDirectory=/home/ss13/ss13 
ExecStart=/usr/local/byond/bin/DreamDaemon /home/ss13/ss13/baystation12.dmb 25565 -trusted >> /home/ss13/ss13-log 
Restart=on-failure 
RestartSec=90s 

結果我得到的是:

Dream Daemon: invalid option '>>'

通常我會假設有一些與DreamDaemon不兼容的東西,但正如我所說我已經使用這種方法成功過去;它也會工作如果我手動運行命令。

感謝您提供的任何幫助。

+0

未來,'systemd'問題更適合[unix.stackexchange.com](http://unix.stackexchange.com),因爲StackOverflow專注於編程問題。 –

+0

這不起作用,因爲'>>'是一個shell腳本選項。 Systemd直接運行命令,而不使用任何shell。但你當然可以做一些像'ExecStart = bash「/ mycommand >> myfile」'。 – Marki555

+0

@ Marki555:我們需要絕對路徑,所以它應該是'ExecStart =/bin/bash -c「」' –

回答

0

把你的命令行中的一個文件:

#!/bin/bash 
/usr/local/byond/bin/DreamDaemon /home/ss13/ss13/baystation12.dmb 25565 -trusted >> /home/ss13/ss13-log 

然後有ExecStart=參考該文件。

+0

好吧,它會的。謝謝! – Hugo14453