【发布时间】:2014-11-28 21:42:27
【问题描述】:
我正在尝试编写一个非常基本的 Bash 脚本,它将完成与此命令行相同的事情:
cvlc \
'rtsp://192.168.0.66/cam/realmonitor?channel=1&subtype=0&authbasic=xxxxxxxxx?tcp' \
--sout file/mp4:/mnt/recordings/camera16_2014_10_03_13.mp4 \
--run-time=60 vlc://quit
在命令行中输入这个可以工作,我得到了预期的 60 秒 MP4 文件。将其放入 bash 脚本中,我似乎无法正确地将所有参数传递给 VLC。
#!/bin/bash
camname="CAMERA16"
token="_"
ipadd="192.168.0.66"
runtime="60"
cvlc "rtsp://$ipadd/cam/realmonitor?channel=1&subtype=0&authbasic=xxxxxxxxx?tcp --sout file/mp4:/mnt/recordings/$camname$token$(date +$Y_%m_%d_$H_$M).mp4 --run-time=$runtime vlc://quit"
运行此脚本会启动 VLC,而不是无头,并忽略其他参数。它不会写入文件并且永远不会退出。它只是将 VLC 连接到流并播放流。
我尝试了几种不同的方式来引用论点,但均未成功。所有建议都表示赞赏。
【问题讨论】:
标签: bash scripting command-line-arguments vlc