我想在几分钟后追加到一个文件。
我天真地认为我可以这样做:
echo "hello world" >> /tmp/foo.txt | at NOW + 1 MINUTE
但这会立即附加到文件中。
我试过:
echo "hello world" | at NOW + 1 MINUTE >> /tmp/foo.txt
但这根本不写任何输出。
我知道我能做到:
$ at NOW + 1 MINUTE
warning: commands will be executed using /bin/sh
at> echo "HElllo world" >> /tmp/foo.txt
at>
at> <EOT>
job 11 at Wed Feb 17 17:58:00 2021
但这感觉就像“作弊”。
在不使用定界符的情况下如何表达我想要的内容?
答案1
重定向成功命令的 STDOUTat
不是您想要的。
要创建执行“”的“at”作业echo "Hello, world"
,您将使用反斜杠 ( \
),这使得后面的字符具有不同的特殊性(如果字符是特殊的,则将其视为非特殊的,或者如果字符不是特殊的,则将其视为特殊的) 。
去at
表演
echo "Hello, world"
您必须将该命令发送到at
。
echo "echo \"Hello world\"" | at ...
另一种方法是使用两种引用形式:
echo 'echo "Hello, world"' | at ...