You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux Mint下传递带空格参数给stamp.sh调用exiftool报错问题

问题解决:bash脚本传递带空格和引号的exiftool参数

问题根源

脚本中直接使用$1引用参数,未加双引号时,shell会对参数内容执行单词拆分操作。当你传递-'if $Model="MI 9"'时,shell会把"MI 9"拆分成MI和9"两个独立部分,导致exiftool误将9"当作目标文件,从而报错。

解决方案

  1. 修改脚本,确保参数完整传递
    将脚本中的命令改为用双引号包裹$1,这样shell会完整保留参数的原始格式,不会拆分:

    exiftool "$1" -alldates .
    
  2. 正确调用脚本的参数写法
    根据需求选择以下任意一种调用方式:

    • 用单引号包裹整个参数,内部双引号直接保留:
      ./stamp.sh '-if $Model="MI 9"'
      
    • 用双引号包裹整个参数,内部双引号转义(注意$也要转义,避免shell提前解析变量):
      ./stamp.sh "-if \$Model=\"MI 9\""
      

修改后,exiftool会收到完整的条件参数,不会再出现文件找不到的错误。

内容的提问来源于stack exchange,提问作者Zrozum Partnera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 17:02:04