前面章节我们说过,程序脚本要想在 Linux 中运行,需要使用绝对路径或相对路径指定这个脚本所在的位置。但是为什么系统命令都没有指定路径而是直接执行的?比如,ls 命令并没有输入"/bin/ls"来执行,而是直接执行"ls"命令。这就是 PATH 环境变量的功能了。
先查询一下 PATH 环境变量的值,如下:
[root@localhost ~]# echo $PATH /usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/ bin:/root/bin
PATH 变量的值是用":"分隔的路径,这些路径就是系统查找命令的路径。也就是说,我们输入了一个程序名,如果没有写入路径,系统就会到 PATH 变量定义的路径中去寻找是否有可以执行的程序,如果找到则执行,否则会报"命令没有发现"的错误。
那么,是不是我们把自己写的脚本复制到 PATH 变量定义的路径中也可以不输入路径而直接执行呢?当然是可以的,我们试试吧,就拿最开始的 hello.sh 来举例吧。
[root@localhost ~]# cp /root/sh/hello.sh /bin/ #复制hello.shi到/bin/目录中 [root@localhost ~]# hello.sh c.biancheng.net #hello.sh可以直接执行了
我们只要把程序脚本复制到 PATH 变量定义的任意路径中,比如 /bin/ 目录下,以后这个脚本就可以直接执行了,不用再指定绝对路径或相对路径。
如果我们把自己写的所有程序脚本都放在 /bin/ 目录下,那么有时会搞不清系统命令和自己写的程序(其实笔者很反对改变系统目录的结构的)。我们是不是可以修改 PATH 变量的值,而不把程序脚本复制到 /bin/ 目录中?
当然是可以的,通过变量的叠加就可以实现了。
[root@localhost ~]# PATH="$PATH":/root/sh #在变量PATH的后面,加入/root/sh目录 [root@localhost ~]# echo $PATH /usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/ bin:/root/bin:/root/sh #查询PATH的值,变量叠加生效了
当然,这样定义的 PATH 变量只能临时生效,一旦重启或注销系统就会消失。如果想要永久生效,则需要写入环境变量配置文件,我们会在后续章节中再详细介绍。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]