gpt4 book ai didi

unix - 如何从任何位置执行 bash 脚本?

转载 作者:行者123 更新时间:2023-12-04 19:49:38 26 4
gpt4 key购买 nike

在 UNIX 中,我读到将 shell 脚本移动到/usr/local/bin 将允许您通过简单地键入“[scriptname].sh”并按 Enter 从任何位置执行脚本。

我已经移动了一个具有普通用户和 root 权限的脚本,但我无法运行它。

剧本:

#! bin/bash

echo "The current date and time is:"
date

echo "The total system uptime is"
uptime

echo "The users currently logged in are:"
who

echo "The current user is:"
who -m

exit 0

当我尝试移动然后运行脚本时会发生这种情况:
[myusername@VDDK13C-6DDE885 ~]$ sudo mv sysinfo.sh /usr/local/bin

[myusername@VDDK13C-6DDE885 ~]$ sysinfo.sh

bash: sysinfo.sh: command not found

最佳答案

如果您想从任何地方运行脚本,您需要将它添加到您的 PATH .通常 /usr/local/bin位于每个用户的路径中,因此它应该以这种方式工作。
因此,请检查您的系统中是否/usr/local/bin在您的 PATH在你的终端上做:

echo $PATH 

您应该会看到列出了很多路径(例如 /bin/sbin 等...)。如果未列出,您可以添加它。更好的解决方案是将所有脚本保存在一个目录中,例如在您的 home 中。并将其添加到您的路径中。

要在您的路径中添加目录,您可以修改您的 shell init 脚本并添加新目录,例如,如果您使用的是 BASH shell 你可以编辑你的 .bashrc并添加以下行:
PATH=$PATH:/the_directory_you_want_to_add/:/another_directory/

这会将新目录附加到您现有的 PATH .

关于unix - 如何从任何位置执行 bash 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14650070/

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