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

Linux执行.sh脚本提示密码文件不存在但文件实际存在问题

故障原因

~ 符号的家目录路径展开是shell的解析规则,只有当~不被双引号包裹时才会生效。你给--password传的路径用双引号把~整个包在里面,程序接收到的路径是字面字符串~/RPI/filename.sec,不会自动替换成/home/你的用户名/RPI/filename.sec这类真实绝对路径,自然会报文件不存在。
之前能正常运行,大概率是之前的参数写法没有把~放在双引号内部,这次调整参数时加的引号触发了这个解析问题。

修复方案

任选一种写法替换原来的参数即可:

  • 用$HOME环境变量替代~,该变量在双引号内也能被正常解析,兼容性最好:
    --password "$HOME/RPI/filename.sec"
    
  • 把~移到双引号外部,仅给可能含特殊字符的路径部分加引号:
    --password ~/"RPI/filename.sec"
    
  • 如果路径中没有空格、shell特殊字符,直接去掉路径外层的双引号:
    --password ~/RPI/filename.sec
    
  • 直接写死文件的绝对路径,替换~为对应用户的家目录完整路径,比如用户名为pi时:
    --password "/home/pi/RPI/filename.sec"
    
校验方式

改完参数后,可以先在终端执行echo 你写的完整路径参数,如果输出的路径和你实际存放文件的绝对路径完全一致,再执行脚本就不会报路径不存在的错误。

内容的提问来源于stack exchange,提问作者Mandy Lores

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 06:54:30