命令内带有命令的命令

时间:2018-09-15 17:36:46

标签: bash

是的,那标题真是一团糟。我真的不知道该怎么形容。

我正在设置RPi以在启动时在屏幕上运行Homebridge。我已经编辑了rc.local文件以包含以下行:

su - pi -c "screen -dm -S hbscreen homebridge"

它将创建一个名为“ hbscreen”的屏幕,该屏幕将执行命令“ homebridge”。现在的问题是,我想添加一个参数,以便命令读取“ homebridge -I”。

看到自己喜欢尝试一些事情,我只是在行中添加了-I并得到了这个信息:

su - pi -c "screen -dm -S hbscreen homebridge -I"

但是突然我的RPi无法启动了。因此,我认为这不是正确的解决方法。

我已经在谷歌上搜索了半个小时,但我似乎无法弄清楚。正确的符号是什么?我猜我需要让它知道“ homebridge -I”是一个,但是我假设我不能在这样的引号内使用引号:

su - pi -c "screen -dm -S hbscreen "homebridge -I""

1 个答案:

答案 0 :(得分:0)

感谢Reddit上的某人,我设法解决了这个问题,方法是不将所有内容都放在rc.local中,而是在自己的主目录hbboot.sh中创建一个.sh文件,然后运行该文件。

rc.local:

su - pi -c "screen -dm -S hbscreen ~/hbboot.sh"

hbboot.sh:

#!/bin/sh
homebridge -I "$@"