Mac 命令行说“错误的数学表达式:操作数应在字符串末尾”

问题描述 投票:0回答:5

在 macbook 终端上,当我在

ls
之后按下命令 TAB 键时。 终端说错误。

$ ls
_complete:96: bad math expression: operand expected at end of string

这个例子是

ls
,但其他所有命令都有同样的问题。 我重新启动了 mac,但问题还没有解决。

发生了什么你知道吗?


Mac自己自动关机,不知不觉修好了

操作系统是:OS X El Capitan。

macos
5个回答
29
投票

大概是

oh-my-zsh
报目录权限不安全

在终端中运行

compaudit
将显示这些目录。在我的例子中是:

/usr/local/share/zsh/
/usr/local/share/zsh/site-functions

我的情况是像这样删除组写权限:

chmod g-w /usr/local/share/zsh/
chmod g-w /usr/local/share/zsh/site-functions

有帮助。

或者只是:

compaudit | xargs chmod g-w

正如我的外壳所暗示的那样。 (MacOS 11.2.1)

也检查这个答案.


17
投票

可能是因为 zsh 设置没有正确完成。我也遇到了同样的问题,这就是我解决它的方法。 我运行了以下命令,问题得到解决。我不确定实际问题是什么,但是运行此命令对我有用。

执行 zsh


4
投票

以防万一它可以帮助某人:

sudo chmod -R 755 /usr/local/share/zsh/site-functions

2
投票

对我来说

source .zshrc
能够解决这个问题。


0
投票

我在新的 macOS Ventura (13) M1 Max (Mac Studio) 上安装 Homebrew 后遇到这个问题

第一步

compaudit

输出: 有不安全的目录: /选择/自制/分享

第二步

要么执行:

compaudit | xargs chmod g-w

该命令仍会为您提供“存在不安全的目录:”,但列表为空(不会列出任何目录)

chmod g-w /opt/homebrew/share
© www.soinside.com 2019 - 2024. All rights reserved.