这条线本身就按预期工作
(echo '@$X!'; sleep 3; echo '@$X!')
我需要使用以下命令将此行插入文件中,但不起作用。'edecho
命令必须是可执行的。
echo "(echo '@$X!'; sleep 3; echo '@$X!') | mycmd" >> a
它不断返回此错误
sh: !': event not found
我知道在单引号之间回显字符串会阻止任何变量替换或字符转义,但我无法应用它来解决这个问题!
我有通过命令来执行此操作,因为我将通过工具发送它,所以使用编辑器编辑文件对我来说不是一个可用的选项。
答案1
更新
我的第一个想法是错误的。明确引用 bang ( !
) 似乎有效:
echo "(echo '@$'\!; sleep 3; echo '@$'\!) | mycmd" > a