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

MacOS 13终端执行shell脚本提示“command not found”求助

问题原因

sudo执行命令时会重置环境变量,其中的PATH不包含当前工作目录(.),所以即使你已经cd到脚本所在文件夹,直接输入writeimage.sh时,sudo无法在系统默认的PATH路径中找到该脚本,因此报错“command not found”。

解决办法
  • 直接指定脚本的相对路径或绝对路径执行(最安全推荐的方式)
    在sudo后加上./前缀明确指向当前目录的脚本:

    sudo ./writeimage.sh -d /dev/disk5s1 -i "motioneyeos-raspberrypi-20200606.img.xz"
    

    也可以使用脚本的绝对路径,例如你的脚本在~/Downloads目录下:

    sudo ~/Downloads/writeimage.sh -d /dev/disk5s1 -i "motioneyeos-raspberrypi-20200606.img.xz"
    
  • 将脚本移动到系统PATH包含的目录中
    比如复制脚本到/usr/local/bin(需要sudo权限),之后无需路径即可执行:

    sudo cp writeimage.sh /usr/local/bin/
    sudo chmod 755 /usr/local/bin/writeimage.sh  # 确保其他用户也能执行(可选)
    

    之后直接运行:

    sudo writeimage.sh -d /dev/disk5s1 -i "motioneyeos-raspberrypi-20200606.img.xz"
    
  • 临时修改sudo的PATH(不推荐,存在安全风险)
    编辑sudoers配置文件(必须用visudo命令),将当前目录添加到secure_path中,但这种方式可能导致恶意脚本被误执行,仅适合熟悉系统配置的用户操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 20:02:47