我正在尝试创建一个 bash 脚本,对目录中文件名包含空格的每个文件运行 ffmpeg 命令。这是我开始制作一个可以正常工作的单个文件的脚本。我用来tab
填充文件名参数,其中包括所有空格的转义字符:
#!/bin/bash
input="./"$1
output="/xfer/transfer/temp/"$1
ffmpeg -i "${input}" -c:v copy -c:a libfdk_aac -b:a 160k "${output}"
下一步是对目录中的所有文件执行 ffmpeg 命令。假设目录如下所示,命令如下ls
:
'Name of First File.mkv'
'Name of Second File.mkv'
这是我的测试代码:
#!/bin/bash
files=$(ls *)
for input in ${files}
do
echo $input
done
我的问题是输出如下所示:
Name
of
First
File.mkv
Name
Of
Second
File.mkv
在 ls 命令中添加 a-b
只是在每行末尾添加一个反斜杠。我需要帮助让$input
看起来像Name of First File.mkv
等等。