我正在尝试使用screen
包含美元符号的命令运行命令,但美元符号无法通过。
screen -d -m echo \$ > test.txt
test.txt
只是最终成为一个空文件......
答案1
您正在重定向 的输出screen
。这就是为什么test.txt
是空的。
事实上,$
是作为参数传递给 的echo
。您调用 screen 的 shell 会看到\$
,导致单字符字符串$
成为 的参数echo
。屏幕运行,在屏幕窗口中echo
显示。$
之后,程序立即返回,窗口关闭。
请注意,如果您想使用 shell 构造来执行屏幕窗口中的操作,则需要显式调用 shell。
screen -d -m sh -c 'echo \$ >test.txt'