gpt4 book ai didi

linux - 使用 zshrc 别名 sudo - 获取 "aliased to nocorrect sudo"

转载 作者:太空宇宙 更新时间:2023-11-04 04:01:06 25 4
gpt4 key购买 nike

我检查过this先回答:

我的问题仍然是:

如果我将这些行放入我的 ~.zshrc 文件中:

JAVA_HOME="/user/lib/jvm/java-7-openjdk-amd64"
export JAVA_HOME

alias sudo="sudo env JAVA_HOME=$JAVA_HOME"

然后注销。

然后尝试:

> sudo ./somejava-stuff.sh

我仍然看到“JAVA_HOME 环境变量未定义”

当我检查我的别名是否已应用时:

> which sudo 

我得到了意外的输出:

"sudo: aliased to nocorrect sudo"

问:为什么会这样?

如果我手动执行此操作:

> sudo env JAVA_HOME=$JAVA_HOME ./somejava-stuff.sh

效果很好。

--我还尝试按照建议设置“带有空格的别名”here

我也厌倦了这个:

...

alias sudo='nocorrect sudo'
alias sudo="sudo env JAVA_HOME=$JAVA_HOME "

喜欢建议here .

最佳答案

Q: Why it is so?

这是因为您的初始化文件覆盖了您的自定义 sudo 别名。一次只能为一个命令设置一个别名。

你可以做什么:

方法1

为您的别名选择另一个名称:

alias jsudo='sudo env JAVA_HOME="$JAVA_HOME"'

另请注意您的版本与此版本之间的引用差异。

方法2

查找并删除 zsh init 文件中覆盖别名的行。某处会出现一行 alias sudo='no Correct sudo'

如果您无法找到此行,则必须坚持使用方法 1。这将是您的失败,而不是 zsh 或 Linux 的问题。

更新您的 sudo 别名

alias sudo='nocorrect sudo env JAVA_HOME="$JAVA_HOME"'
<小时/>

PS:整个 no Correct 业务是为了防止 zsh 更正您的命令,这通常对 sudo 没有帮助。

关于linux - 使用 zshrc 别名 sudo - 获取 "aliased to nocorrect sudo",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22974773/

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