在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
Run Code Online (Sandbox Code Playgroud)
当我尝试移动然后运行脚本时会发生这种情况:
[myusername@VDDK13C-6DDE885 ~]$ sudo mv sysinfo.sh /usr/local/bin
[myusername@VDDK13C-6DDE885 ~]$ sysinfo.sh
bash: sysinfo.sh: command not found
Run Code Online (Sandbox Code Playgroud)
如果您想从任何地方运行脚本,您需要将其添加到您的脚本中PATH.通常/usr/local/bin是在每个用户的路径中,所以这样它应该工作.因此,检查您的系统中/usr/local/bin是否在您PATH的终端上:
echo $PATH
Run Code Online (Sandbox Code Playgroud)
你应该看到了很多上市的路径(如/bin,/sbin等...).如果未列出,则可以添加它.更好的解决方案是将所有脚本保存在目录中,例如在您的目录中,home并将其添加到路径中.
要在路径中添加目录,您可以修改shellinit脚本并添加新目录,例如,如果您使用BASHshell,则可以编辑.bashrc并添加以下行:
PATH=$PATH:/the_directory_you_want_to_add/:/another_directory/
Run Code Online (Sandbox Code Playgroud)
这会将新目录附加 到您现有的目录中PATH.