linux日积月累之环境变量设置

在一般情况下,Linux文件系统中bin或sbin目录中的文件都是可执行的。有时我们为了方便不输入路径就能调用指令或工具,这时要就要设置用户的环境变量PATH。

看下面的一例:

[root@localhost ~]# ls
adduml.sh lsfile.sh mkuml-2004.07.17 mkuml-2004.07.17-ananas.tar.bz2 mydir openQreadme.txt sun.txt tmp upgrade.log
[root@localhost ~]# /bin/ls
adduml.sh lsfile.sh mkuml-2004.07.17 mkuml-2004.07.17-ananas.tar.bz2 mydir openQreadme.txt sun.txt tmp upgrade.log

上面的例子,第一个指令就是直接运行了ls命令来显示当前目录下的文件和子目录;第二个条/bin/ls 指令是用绝对路径的ls来运行的;这两种方式运行的结果看来是一样的。

再看下面的一例:
[leon@leon stl_ch6]$ ll
-rw-rw-r-- 1 leon leon   956 10-18 22:04 ex06-09.cpp
-rw-rw-r-- 1 leon leon   956 10-18 22:03 ex06-09.cpp~

[leon@leon stl_ch6]$g++ -o run ex06-09.cpp<CR>
上面的例子,当用编译指令编译生成可持行文件时(本例中的"run"),如果不设置环境变量PATH时,直接在运令行中使用可执行文件Linux会提示没有这个Shell指令或者没有这个文件:
[leon@leon stl_ch6]run<CR>
bash: run: command not found

我们可以用export PATH来设置环境变量。比如把下面一行加入到用户家目录下的.bashrc 或.profile文件中;

export PATH=.:$PATH
($PATH是一个变量宏用以替换赋值给它的Shell路径,如PATH=/usr/local/jdk/bin)

解释:您可以找出Linux文件系统中所有bin或sbin目录的的绝对路径,然后把它们用:号分割,比如上面所设置的。第一个.表示用户当前所处的目录;

添加好后,我们再运行一下source,也就是:

#source .bashrc

#source .profile

如果发现指令只有root权限才运行,这时您要用到su; 如果您用的是普通用户,可能无权查看一些文件的目录的内容,您也需要用到su来切换身份;请参考:《Linux 系统中的超级权限的控制》 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值