You need to enable JavaScript to run this app. .sh脚本执行/usr/bin/mount及sudo命令报未找到错误的求助
优惠活动
大模型
产品
解决方案
定价
更多

.sh脚本执行/usr/bin/mount及sudo命令报未找到错误的求助

故障根源

你遇到的找不到mount、甚至找不到sudo的报错,根本不是系统里真的缺这些命令——是脚本第一行的最开头藏了个肉眼根本看不见的UTF-8 BOM字符。
仔细看你贴的报错内容:系统提示找不到的程序路径是/usr/bin/mount,路径最前面那个小隐形标记就是BOM。shell解析脚本的时候会把这个隐形字符当成命令路径的一部分,实际要找的是带了非法前缀的路径,自然会报“not found”。哪怕你在mount前面加sudo,只要这个BOM还在,整行命令都会带着这个隐形前缀,照样报找不到命令的错。
这个问题基本都是编辑脚本的时候用了会默认添加BOM的Windows编辑器(比如系统自带记事本)导致的,Linux的shell解析器完全不认这个隐形标记,直接把它当普通字符串拼在命令上了。

排查&解决方法

  • 先实锤确认问题:在终端执行cat -A /home/patrick/Scripts/DataBackup.sh,如果第一行最开头显示M-oM-;M-?,就肯定是BOM搞的鬼。
  • 移除BOM的两种常用操作:
    • 直接用Linux自带的编辑器(nano、vim都可以)打开脚本,把第一行最开头的隐形字符删掉再重新保存,以后编辑shell脚本尽量别用会自动加BOM的跨平台编辑器。
    • 也可以直接跑一条命令把文件开头的BOM去掉:sed -i '1s/^\xEF\xBB\xBF//' /home/patrick/Scripts/DataBackup.sh
  • 顺手补个小提醒:规范的可执行shell脚本,建议在最开头加上对应解释器的shebang声明(比如#!/bin/bash),避免不同默认shell带来的兼容问题;记得给脚本加执行权限:chmod +x /home/patrick/Scripts/DataBackup.sh

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 04:36:03