gpt4 book ai didi

shell - 为什么 zsh 无法从脚本中的路径读取 ~ (波浪号)?

转载 作者:行者123 更新时间:2023-12-04 01:42:03 25 4
gpt4 key购买 nike

zsh正在导出 PATH从脚本中,它没有正确读取路径。

我的 PATHexport PATH="~/path/to/stuff/" ,但是当我尝试运行位于该路径的命令时,zsh找不到它。

当我改变了PATHexport PATH="$HOME/path/to/stuff/" ,然后是 zsh能够运行命令。

编辑:奇怪的是,我刚刚检查了这个,它再次与 export PATH="~/path/to/stuff/" 一起工作。 .我的开发环境一定发生了一些奇怪的事情。

编辑 2:我之前没有提到我正在阅读的脚本 export PATH="~/path/to/stuff/" from 正在为主要使用 bash 的开发人员团队构建本地开发环境作为他们的 shell 。我更喜欢使用 zsh所以我必须让我的 shell 与主导 bash 的所有配置一起玩得很好整个团队的设置。

最佳答案

使用以下代码来获得你想要的:

export PATH=~/Desktop/Capture/
echo $PATH

# Result: /Users/swift/Desktop/Capture/

虽然,当你使用字符串时,你会得到这个:
export PATH="~/Desktop/Capture/"
echo $PATH

# Result: ~/Desktop/Capture/

So to get it right, you'll have to try this approach:


tilde=~
export PATH="${tilde}/Desktop/Capture/"
echo $PATH

# Result: /Users/swift/Desktop/Capture/

附言此外,还有一个有用的命令可以扩展波浪号。

下面是一个例子:
echo tilda=~

# Result: tilda=~

使用 magicequalsubst zsh 中的命令:
set -o magicequalsubst
echo tilda=~

# Result: tilda=/Users/swift

关于shell - 为什么 zsh 无法从脚本中的路径读取 ~ (波浪号)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56951712/

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