0

我一直在尝试编写一个运行命令的 shell 脚本

youtube-dl -o C:\Users\3435\Desktop\35.mp4  http://www.youtube.com/watch?v=I1rxfwFxB8M

这个命令可以通过在 shell 上输入 q 来退出。

我可以将参数传递给脚本,但如何从脚本内或通过其他脚本自动执行。我可以从脚本中终止这个 youtube-dl 进程,但我不想这样做,因为它会影响 commad 执行。

请告诉我如何确保 youtube-dl 进程从另一个脚本或同一脚本中接收到 q。

4

2 回答 2

0

您可以从命名管道重定向其标准输入:

mkfifo ydl-input
youtube-dl -o 'C:\Users\3435\Desktop\35.mp4' \
           'http://www.youtube.com/watch?v=I1rxfwFxB8M' \
           < ydl-input

然后在以后的任何时间将“q”写入命名管道。

echo q > ydl-input
于 2014-09-03T15:33:11.790 回答
0

我们可能不需要做所有这些。我们将终端打印输出导出到文件并在后台运行整个过程。

youtube-dl -o ~/Desktop/35.mp4  http://www.youtube.com/watch?v=I1rxfwFxB8M > tmp.txt 2>&1 &

您可以删除您的输出。

于 2014-09-03T23:07:02.343 回答