【问题标题】:Fish shell run a command with parenthesis in argumentsFish shell 在参数中运行带括号的命令
【发布时间】:2019-11-15 06:45:41
【问题描述】:

我正在尝试运行命令

ffmpeg -i in.mp4 -vf yadif,format=yuv420p -force_key_frames expr:gte(t\,n_forced/2) -c:v libx264 -crf 18 -bf 2 -c:a aac -q:a 1 -ac 2 -ar 48000 -use_editlist 0 -movflags +faststart out.mp4

如上所述here。但是,问题在于参数expr:gte(t\,n_forced/2) 包含括号,并且fish shell 会将t\,n_forced/2 解释为命令。有没有办法在fish shell中运行它而不需要制作一个单独的bash脚本?

注意,我不能用单引号括起来,因为我得到以下信息

【问题讨论】:

  • "expr:gte(t\,n_forced/2)" 工作吗?
  • @ymonad 不幸的是没有。查看更新后的问题。
  • 也许你不需要\。试试"expr:gte(t,n_forced/2)"
  • 是的,这解决了它。认为我应该删除问题?还是直接改写?
  • 我认为您应该添加自己的答案然后接受它

标签: fish


【解决方案1】:

将参数 expr:gte(t\,n_forced/2) 括在单引号中并删除 \, 中的反斜杠可以解决问题。

结果参数是'expr:gte(t\n_forced/2)'

【讨论】:

    猜你喜欢
    • 2019-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 2016-12-18
    • 2021-05-30
    相关资源
    最近更新 更多