gpt4 book ai didi

macos - 执行 wine != 执行 `which wine`

转载 作者:行者123 更新时间:2023-11-29 09:46:52 26 4
gpt4 key购买 nike

我有一个“有趣”的问题,即以两种不同的方式运行 wine 会导致:

$> wine --version
/Applications/Wine.app/Contents/Resources/bin/wine: No such file or directory

$> `which wine` --version
wine-1.8

我很久以前在 Applications 中安装了 wine,但现在没有了。当前(工作)安装是通过 Homebrew 安装的。我找不到任何环境变量弄乱我的路径或类似的。

任何可能导致这种烦恼的建议?

最佳答案

使用the bash type builtincommand -v ,而不是 which,以确定运行命令时 shell 实际执行的操作。 (不要按照您的问题建议的方式使用其中任何一个的输出来形成另一个命令;如果 which 的输出包含带空格的目录名、易于扩展的 glob 文字等)。

which 告诉您 PATH 中的第一个是什么,但由于它是一个外部工具而不是 shell 的一部分,因此它不知道依赖于 shell 状态的行为。 (想想别名、函数、散列查找等)。

如果您有别名,您可能会看到如下内容:

$ type wine
wine is aliased to `/Applications/Wine.app/Contents/Resources/bin/wine'
$ command -v wine
alias wine='/Applications/Wine.app/Contents/Resources/bin/wine'

...或者,对于一个函数:

$ type wine
wine is a function
wine ()
{
/Applications/Wine.app/Contents/Resources/bin/wine "$@"
}
$ command -v wine
wine

关于macos - 执行 wine != 执行 `which wine`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35142310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com