gpt4 book ai didi

linux - 在 linux 中创建命令

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:59:12 27 4
gpt4 key购买 nike

我创建了一个简单的脚本:

echo "the path of the current directory is `pwd`"

并以名称pathinfo 保存它

然后我在我的主页上创建了一个 bin 目录,路径为/home/vpnsadmin/bin并将我的脚本(路径信息)复制到那个 bin 目录。

现在我想将此脚本作为命令运行,但它显示错误

-bash:/usr/bin/test2: 没有那个文件或目录

但是如果将我的脚本(路径信息)复制到“/usr/bin/”,那么它将作为命令运行。

PATH环境变量设置为-

PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/vpnsadmin/bin

我的问题是,当它出现在 /home/vpnsadmin/bin 中时,为什么 shell 不将其作为命令运行。要不然为什么它只检查 /usr/bin 而不是 /home/vpnsadmin/bin/bin

最佳答案

执行命令的 shell 需要在执行时设置正确的 PATH 变量,并且根据 shell 的不同,可能需要创建自己的内部(散列)映射可用的命令。

假设您使用的是 bash,请使用保存在 /usr/bin 中的脚本尝试以下操作:

$ PATH=/ test2

$ PATH=/usr/bin test2

在第一种情况下,您应该得到预期的“未找到”错误,在第二种情况下它应该可以工作。第三个要执行的测试留作练习...

而且我不得不说,如果您真的尝试这样做,所提供的错误消息看起来有点奇怪

$ test2

不是

$ /usr/bin/test2

在将命令复制到 /usr/bin 之前。

编辑:

此外,请避免以任何形式命名您的脚本测试。这会给初学者带来很多困惑。

提示:

人工测试

关于linux - 在 linux 中创建命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10028801/

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