在没有终端输出的情况下执行命令

10 command-line shell terminal command

让我介绍一下我的问题的背景。我正在使用终端 RSS 阅读器newsboat,它允许使用宏对链接进行操作。例如,我有一个宏正在运行cd ~/videos && youtube-dl %u,它会将 youtube 视频下载到~/videos. 但是,输出youtube-dl将打印在我的终端中,直到下载完成,此时我无法继续使用newsboat.

我想知道如何表达命令,以便它在“其他地方”执行,以便我可以立即继续使用运行它的终端。

小智 9

如果您根本不需要输出,则将其重定向到 /dev/null

yourcommand > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

否则你可以重定向到一个文件:

yourcommand > /somwhere/file 2>&1
Run Code Online (Sandbox Code Playgroud)

当您从另一个应用程序运行该命令并希望立即使用您的新闻阅读器时,您可能希望在后台运行该命令。我不确定它在这个新闻船上是如何工作的,但是在 shell 中,您可以使用 & 将程序发送到后台

yourcommand > /somwhere/file 2>&1 &
Run Code Online (Sandbox Code Playgroud)