2017-04-15 38 views
2

可以這樣說:通過bash從其他用戶的屏幕發送命令

我有2個用戶:root和mc。 我想在位於mc上的屏幕上運行一個命令,但我需要以root身份運行腳本。

這是我想出了:

sudo -u mc -H sh -c "screen -r lobby -p 0 -X stuff "restart $(printf '\r')"" 

我想,用2 ' " '不會工作,讓我怎麼管理這個問題?

+1

你的問題是關於如何在bash中嵌入引號而不是你的標題所暗示的。你有沒有試過逃避內在的一套引號? – silel

回答

1

如果您在雙引號字符串中使用雙引號,只需在其前加\以跳過它。 sudo -u mc -H sh -c "screen -r lobby -p 0 -X stuff \"restart $(printf '\r')\""