我正在尝试使用screen -dmS nameofscreen command
启动守护程序屏幕。这本身就有效,但当我使用&&
或|
的命令时,它似乎解释错了。
示例:screen -dmS screen1 echo test && ls -al
它似乎被解释为(screen -dmS screen1 echo test) && (ls -al)
,我正在寻找它被解释为screen -dmS screen1 (echo test && ls -al)
。
这是怎么做到的?如果我在要传递的命令周围使用(),屏幕不接受它?
答案 0 :(得分:2)
括号和&&
和||
由shell解释,而不是由屏幕解释。要让这些操作符在屏幕上工作,您需要一个明确的子shell。
screen -dmS screen1 sh -c 'echo test && ls -al'