请用 rm 命令解释这个 shell 脚本片段

请用 rm 命令解释这个 shell 脚本片段

我是 unix 脚本的初学者,谁能解释一下以下几行的含义:

BTEQTEMPDELLOGS=$LOGS/${tablename}.DELlog

rm $BTEQTEMPDELLOGS 2>/dev/null 1>/dev/null

答案1

(“删除”)命令rm删除文件。要删除的文件的名称在变量中给出BTEQTEMPDELLOGS,而不是直接给出。任何错误消息 ( 2>) 都会rm被发送/dev/null(丢弃),与正常输出 ( ) 相同1>

变量BTEQTEMPDELLOGS本身是在第一行中通过连接变量LOGS、文字“/”和tablename末尾带有字符串“.DELlog”的变量来构造的。

以下是有关(输入和)输出重定向的文档:GNU bash 手册:重定向

在您的示例中,仅重定向输出,而不重定向输入。 1>重定向发出的正常消息rm(通常没有),2>仅重定向错误消息(未找到文件等)。

以下是有关这些数字的更多详细信息(从程序员的角度来看“文件句柄”):stdin (0)、stdout (1) 和 stderr (2) 程序的输入/输出

以下是相关文档/dev/null维基百科:NULL 设备

相关内容