Linux 我怎样才能到达这个终点站';at';命令能正常工作吗?

Linux 我怎样才能到达这个终点站';at';命令能正常工作吗?,linux,shell,heredoc,Linux,Shell,Heredoc,使用at调度系统消息。我需要在脚本中运行它,因此第一个需要ctrl+d的选项是不可行的还要注意,在第一个选项中,管道失败,除非我在其下方添加无意义的echo语句。 第一个选项有效,但无法使用: $ at now > cat file.txt | write user pts/0 > echo "nonsense" >[ctrl+d] 第二种选择需要发挥作用: $ at now << 'END_AT'

使用at调度系统消息。我需要在脚本中运行它,因此第一个需要ctrl+d的选项是不可行的还要注意,在第一个选项中,管道失败,除非我在其下方添加无意义的echo语句。

第一个选项有效,但无法使用:

    $ at now
    > cat file.txt | write user pts/0
    > echo "nonsense"
    >[ctrl+d]
第二种选择需要发挥作用:

    $ at now << 'END_AT'
    > cat file.txt | write user pts/0
    > END_AT
$at now cat file.txt |写入用户pts/0
>结束于

请注意,无论是否在第二个选项中使用无意义回显,它都无法跟踪文本文件的内容。我需要第二个选项来正确显示,我在这里做错了什么???

尝试重定向stderr,看看它是否出错
cat file.txt 2>&1 |写入用户pts/0
尝试使用文件的绝对路径名。此外,它是一个UOOC,因此请使用
编写用户pts/0
作为UOOC:您如何知道?也许他从
cat file.txt
开始查看它的内容。所有那些叫嚣UOOC的人都会让他放弃以前的命令,笨拙地编辑或完全重写命令行。只是为了保持或养成UOOC强迫症的习惯。感谢各位的评论。到目前为止,巴尔马的两次评论都解决了这个问题。包括2>&1和使用第二条注释的语法都导致文件的内容显示在写入中。非常感谢。如果你不介意的话,你能解释一下第一条注释的语法吗,比如,为什么它会突然导致文件内容显示?@Roadowl这不是一个完全的重写,根据我的经验,在他们的示例中使用UOOC的人不知道有替代方法,并且在它成为实际问题的地方使用它(例如,
cat foo | while…
并想知道为什么在循环中设置/更改的变量在循环后未设置/未更改)。