gpt4 book ai didi

linux - 将包含空格的字符串传递给脚本

转载 作者:太空宇宙 更新时间:2023-11-04 03:48:44 24 4
gpt4 key购买 nike

我使用这样的小脚本将 SAT 接收器中的视频转换为 h264/mp​​3 格式。

[maciek@piotr Pobrane]$ cat ./conv_sat_to_clean_ts 
#!/bin/bash
ffmpeg -i $1.ts -movflags +faststart -vcodec h264 -acodec mp3 -f mpegts $1-new.ts

问题是当我以这种方式调用该脚本时:

./conv_sat_to_clean_ts ./Operacja\ Dunaj.ts

它向我显示一个错误:

./Operacja: No such file or directory

这意味着调用参数中包含的空格将被忽略,并且文件名无法正确解释。有什么办法可以解决这个问题吗?

最佳答案

由于文件名有空格,因此将 $1 放在双引号中。

ffmpeg -i "$1".ts -movflags +faststart -vcodec h264 -acodec mp3 -f mpegts "$1"-new.ts

并运行不带 .ts 的脚本

./conv_sat_to_clean_ts ./Operacja\Dunaj

./conv_sat_to_clean_ts“Operacja Dunaj”

关于linux - 将包含空格的字符串传递给脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27087592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com