通过 bash 从其他用户发送屏幕内命令

Send command inside screen from an other user via bash

假设:

我有 2 个用户:root 和 mc。 我想 运行 位于 mc 上的屏幕内的命令,但我需要 运行 脚本作为 root。

这是我想出的:

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

我想,使用 2 ' " ' 是行不通的,那么我该如何解决这个问题?

如果在双引号字符串中使用双引号,只需在其前面添加\即可跳过。 sudo -u mc -H sh -c "screen -r lobby -p 0 -X stuff \"restart $(printf '\r')\""