gpt4 book ai didi

linux - 未找到 Bash 脚本,尽管它在 $PATH 中

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:40:06 25 4
gpt4 key购买 nike

在基于 LMDE 的笔记本电脑上,我有一个脚本 upgrade.sh,它只运行以下命令:

#!/bin/sh

apt-get upgrade
apt-get dist-upgrade

脚本位于 /home/francois/scripts 目录中。我可以很容易地从这个目录中运行它。它只是工作。现在我运行以下命令:

$ sudo ln -s /home/francois/scripts /opt/scripts
$ sudo ln -s /opt/scripts /usr/local/bin/scripts

并创建文件/etc/profile.d/myscripts.sh

只有一行:

export PATH=$PATH:/usr/local/bin/scripts

我输入

$ echo $PATH

并看到它包含/usr/local/bin/scripts

但是当我运行的时候

$ sudo upgrade.sh

从任何目录系统提示找不到命令

ls -l 显示 -rwxr-xr-x 1 francois francois ...

最佳答案

Sudo 不继承调用者的环境变量。 $PATH 是这些变量之一。

要使其继承调用它的 shell 的环境变量,请将其运行为 sudo -E [cmd]

关于linux - 未找到 Bash 脚本,尽管它在 $PATH 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43763019/

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