我正在尝试编写一个简单的 bash 脚本来执行命令tcprobe -i $1
where $1
is an mp4 file。然后,我想将该命令的输出(应该是有关视频文件的一长串信息)写入名为frameInfo的文件。
我的代码目前是:
#/bin/bash
echo (tcprobe -i $1) > frameInfo
但是,这会将 的输出写入tcprobe
文件。
答案1
这里不需要回显或括号。检查$1
定义也可能是相关的:
#!/bin/sh
if test "$#" -eq 0; then
echo missing argument
exit 1
fi >&2
if test "$DEBUG"; then
set -x
tcprobe -i "$1"
echo returned $?
set +x
else
tcprobe -i "$1" >frameInfo 2>&1
fi
exit 0
使用DEBUG=toto ./your/script yourFileArgument
, 启用调试。