You need to enable JavaScript to run this app. macOS系统执行sudo运行.sh脚本时提示command not found错误如何解决
优惠活动
大模型
产品
解决方案
定价
更多

macOS系统执行sudo运行.sh脚本时提示command not found错误如何解决

macOS执行shell脚本报command not found错误的原因与解决方案

运行命令:sudo /Users/oliver/Desktop/vpn/natvpn.sh
系统返回报错:command not found: sudo: /Users/oliver/Desktop/vpn/natvpn.sh: command not found
已确认的正常配置:

  • whereis sudo返回/usr/bin/sudo,且PATH包含/usr/bin,sudo本身运行正常

错误原因

  • 脚本无执行权限:macOS默认新建的.sh文件没有可执行权限,直接指定路径调用会触发找不到命令的报错
  • 路径/文件名错误:路径拼写错误、文件名大小写不符(开启磁盘大小写敏感的场景下)、文件已被删除都会触发该报错
  • shebang声明错误:脚本第一行的解释器声明路径错误、对应解释器不存在,也会导致系统识别为无效可执行文件

解决步骤

  1. 确认文件存在
    运行命令校验路径有效性:
    ls -l /Users/oliver/Desktop/vpn/natvpn.sh
    如果返回不存在提示,修正路径或文件名后再重试。

  2. 添加可执行权限
    文件存在的前提下,执行命令赋予执行权限:
    sudo chmod +x /Users/oliver/Desktop/vpn/natvpn.sh
    完成后再运行原启动命令测试。

  3. 修复shebang或手动指定解释器
    如果上述操作后仍报错,打开脚本查看第一行的shebang声明,确保是#!/bin/bash或#!/bin/sh这类合法路径;也可以直接手动指定解释器运行,跳过shebang校验:
    sudo bash /Users/oliver/Desktop/vpn/natvpn.sh


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 15:36:00