引入PATH:
ls的完整文件名为/bin/ls。为什么在任何地方输入ls就一定可以显示信息而不是说找不到该/bin/ls命令?
==》环境变量PATH
执行一个命令时,系统会依照PATH定义的目录下找文件名为ls的可执行文件,如果在PATH定义的目录中含有多个文件名为PATH的可执行文件,那么先找到的同名命令被执行。
查看定义的PATH变量:
[root@localhost ~]# echo $PATH
/home/redhat/.local/bin:
/home/redhat/bin:
/usr/local/bin:
/usr/local/sbin:
/usr/bin:/
usr/sbin:
/home/redhat/bin
[redhat@localhost program]$ echo $PATH
/home/redhat/.local/bin:
/home/redhat/bin:
/usr/local/bin:
/usr/local/sbin:
/usr/bin:
/usr/sbin:
/home/redhat/bin:
/home/redhat/program
echo:显示
$:跟变量
PATH这个变量的内容是由一堆目录组成
每个目录中间用:隔开
每个目录有顺序之分
不同用户默认的PATH可能不同
在PATH变量中加入其他目录
[root@localhost ~]# PATH="${PATH}:/root"
注意:本目录最好不要放在PATH中。
练习编写一个脚本,把脚本的目录加入PATH变量,执行脚本
vim /home/redhat/program/show_hostname.sh
#!/bin/bash
#program:print hello ,hostname
#history:2022-5-21 first-version
#from rhcsa
echo Hello $(whoami)
在redhat任何目录下执行show_hostname.sh都会显示主机名。