当前位置: 技术问答>linux和unix
初学Linux,环境变量的问题
来源: 互联网 发布时间:2015-11-25
本文导语: 各位前辈好 不好意思 看了以前的帖子的记录 还是不知道如何设置环境变量 麻烦谁可以给我讲清楚点 我用的是Redheat9 还有大家说的 /etc/profile ,怎么里面都是些.hs .csh文件(这些是什么文件呢?) | ...
各位前辈好
不好意思
看了以前的帖子的记录
还是不知道如何设置环境变量
麻烦谁可以给我讲清楚点
我用的是Redheat9
还有大家说的 /etc/profile ,怎么里面都是些.hs .csh文件(这些是什么文件呢?)
不好意思
看了以前的帖子的记录
还是不知道如何设置环境变量
麻烦谁可以给我讲清楚点
我用的是Redheat9
还有大家说的 /etc/profile ,怎么里面都是些.hs .csh文件(这些是什么文件呢?)
|
redhat9应该使用的是BASH,就用
export [变量名] [变量值]
要查看是否设置成功,可用
export $[变量名]
export [变量名] [变量值]
要查看是否设置成功,可用
export $[变量名]
|
export 变量名=变量值
查看的话可以echo $变量名
但是这样每次退出后下次登录还是得重新做export,因此可以在~/.bash_profile里把export那句加进去,每次登录就自动帮你做了。
查看的话可以echo $变量名
但是这样每次退出后下次登录还是得重新做export,因此可以在~/.bash_profile里把export那句加进去,每次登录就自动帮你做了。
|
转贴
7.4.5 环境裁剪
Linux系统的优点之一是尽可能地适应个人使用习惯,尽可能地与勘察计算机的使用环境相兼容。例如,我们以前提到关于删字符,删行符的不同标准问题,它们的省缺值分别是#和@。用如下方法随时可把它们改变成你所要求的符号
$ stty erase e kill k
这时e是删字符,k是删行符。不过在每次注册登记时,要键入这些符号是很不方便的。
shell提供了令人满意的解决方法。在你的注册目录里设置一个名为.profile的文件;每次注册登录时,shell在打印第一个提示符之前先执行这些命令。如果相应的命令放在.profile文件里,就建立一个你所喜欢的运行环境。这些命令在每次注册时,都自动运行一次。
大多数用户在.profile文件里首先放入
stty erase?
这里我们使用符号?表示退格符,以便看到这个符号,也可以放一个文字符号的退格符在.profile文件里,stty将^x解释为ctl-x,因此用下列命令也达到同样效果:
stty erase ‘^h’
ctl-h便是退格符(^符号与管道操作符是同义词,所以必须用引号加以保护)。
如果终端没有处理tab(表格符)停止位的功能,可在stty命令行里加上-tab选择项:
stty erase ‘^h’ –tabs
如果在注册登录时想查看系统里已有多少用户,可键入
who | wc –1
如果你觉得这样注册登录花费时间太多,可以适当剪裁.profile文件,使之只包含最必要的部分。
shell的一些特性是由shell变量参数控制的。举例来说,我们经常显示的提示符$实际上是存储在shell变量psl里的字符串,你可以把它设置成任何字符串,如:
PS1= ‘Yes dear?’
上式中的引号是必需的,因为在提示符串中间有空格。在这一命令行里=号前后是不允许出现空格符的。
shell还处理变量HOME和MAIL。HOME是户主目录,一般来说它不用.profile文件处理就可以正确设置。MAIL命令存放信件的标准文件,如果给shell定义一个MAIL,当你有邮件时,在每个命令之后便会接到新的信件到达的通知:
MAIL= /usr/spool/mail/you
(在你的系统里信件文件可能有所不同,通常使用/usr/mail/you)
shell最有用的变量是查找命令路径控制的变量。在键入命令后,shell一般先查找当前目录,然后是/bin,最后/usr/bin。此种目录顺序称作搜索路径,并存储在shell变量PATH里。搜索路径是可以修改的,一般用.profile文件进行修改。例如,下面的设置是标准的路径加上 /usr/games:
PATH =.:/bin:/usr/bin:/usr/games
这是路径设置的第一种方法。上式的语法有点特殊,是用冒号将目录名分隔开。记住‘.’是当前目录。也可以省掉‘.’不用,而用PATH里空白部分表示当前目录。
另一个建立PATH的写法是直接用原来的路途作为参数:
PATH= $PATH:/usr/games
在名字前置以符号$表示shell原先参数值。在上例中,表达式$PATH表达PATH的当前值,再加上新的值,一起赋给PATH。可以用echo命令对其进行校验。
$ echo PATH is $PATH
PATH is :/bin:/usr/bin:/usr/games
$ echo $HOME 你的注册目录
/usr/you
假如你有一些自己的命令,你可以把它们放在个人的目录里,并将其加到你的命令搜索路径中。此时,你的PATH可表示为:
PATH= :$HOME/bin:/bin:/usr/bin:/usr/games
另一个变量TERM用于设置终端特性。当使用高级屏幕编辑程序时,为了管理屏幕需要设置终端特性,可以将类似的行:
TERM=adm3 打入.profile文件里。
另外,可以用缩写变量代替长字符串。如果你经常访问很长的目录,可以将
d=/horribly/long/directory/name 加到.profile文件中,然后键入命令:
$ cd $d
用户个人的变量,一般要求用小写字母拼写,如d等;而shell的变量常用大写,如PATH等。
最后,还需要告诉shell你打算在其它程序里使用哪些变量,这可以通过export命令实现,其形式为:
export MAIL PATH TERM
下面是一个.profile文件的例子:
$ cat .profile
stty erase ‘^h’ –tabs
MAIL=/usr/spool/mail/you
PATH=:$HOME/bin:/bin:/usr/bin:/usr/games
TERM=adm3
b=$HOME/book
expert MAIL PATH TERM b
date
who | wc –1
以上介绍的只是shell的基本概况。Linux系统还有很多资源,其中一个很有用的资源是把一些现有的命令组合成一个文件,shell解释并执行这些文件,从而生成你自己的命令,这种实现各种复杂的功能是十分经济的。
7.4.5 环境裁剪
Linux系统的优点之一是尽可能地适应个人使用习惯,尽可能地与勘察计算机的使用环境相兼容。例如,我们以前提到关于删字符,删行符的不同标准问题,它们的省缺值分别是#和@。用如下方法随时可把它们改变成你所要求的符号
$ stty erase e kill k
这时e是删字符,k是删行符。不过在每次注册登记时,要键入这些符号是很不方便的。
shell提供了令人满意的解决方法。在你的注册目录里设置一个名为.profile的文件;每次注册登录时,shell在打印第一个提示符之前先执行这些命令。如果相应的命令放在.profile文件里,就建立一个你所喜欢的运行环境。这些命令在每次注册时,都自动运行一次。
大多数用户在.profile文件里首先放入
stty erase?
这里我们使用符号?表示退格符,以便看到这个符号,也可以放一个文字符号的退格符在.profile文件里,stty将^x解释为ctl-x,因此用下列命令也达到同样效果:
stty erase ‘^h’
ctl-h便是退格符(^符号与管道操作符是同义词,所以必须用引号加以保护)。
如果终端没有处理tab(表格符)停止位的功能,可在stty命令行里加上-tab选择项:
stty erase ‘^h’ –tabs
如果在注册登录时想查看系统里已有多少用户,可键入
who | wc –1
如果你觉得这样注册登录花费时间太多,可以适当剪裁.profile文件,使之只包含最必要的部分。
shell的一些特性是由shell变量参数控制的。举例来说,我们经常显示的提示符$实际上是存储在shell变量psl里的字符串,你可以把它设置成任何字符串,如:
PS1= ‘Yes dear?’
上式中的引号是必需的,因为在提示符串中间有空格。在这一命令行里=号前后是不允许出现空格符的。
shell还处理变量HOME和MAIL。HOME是户主目录,一般来说它不用.profile文件处理就可以正确设置。MAIL命令存放信件的标准文件,如果给shell定义一个MAIL,当你有邮件时,在每个命令之后便会接到新的信件到达的通知:
MAIL= /usr/spool/mail/you
(在你的系统里信件文件可能有所不同,通常使用/usr/mail/you)
shell最有用的变量是查找命令路径控制的变量。在键入命令后,shell一般先查找当前目录,然后是/bin,最后/usr/bin。此种目录顺序称作搜索路径,并存储在shell变量PATH里。搜索路径是可以修改的,一般用.profile文件进行修改。例如,下面的设置是标准的路径加上 /usr/games:
PATH =.:/bin:/usr/bin:/usr/games
这是路径设置的第一种方法。上式的语法有点特殊,是用冒号将目录名分隔开。记住‘.’是当前目录。也可以省掉‘.’不用,而用PATH里空白部分表示当前目录。
另一个建立PATH的写法是直接用原来的路途作为参数:
PATH= $PATH:/usr/games
在名字前置以符号$表示shell原先参数值。在上例中,表达式$PATH表达PATH的当前值,再加上新的值,一起赋给PATH。可以用echo命令对其进行校验。
$ echo PATH is $PATH
PATH is :/bin:/usr/bin:/usr/games
$ echo $HOME 你的注册目录
/usr/you
假如你有一些自己的命令,你可以把它们放在个人的目录里,并将其加到你的命令搜索路径中。此时,你的PATH可表示为:
PATH= :$HOME/bin:/bin:/usr/bin:/usr/games
另一个变量TERM用于设置终端特性。当使用高级屏幕编辑程序时,为了管理屏幕需要设置终端特性,可以将类似的行:
TERM=adm3 打入.profile文件里。
另外,可以用缩写变量代替长字符串。如果你经常访问很长的目录,可以将
d=/horribly/long/directory/name 加到.profile文件中,然后键入命令:
$ cd $d
用户个人的变量,一般要求用小写字母拼写,如d等;而shell的变量常用大写,如PATH等。
最后,还需要告诉shell你打算在其它程序里使用哪些变量,这可以通过export命令实现,其形式为:
export MAIL PATH TERM
下面是一个.profile文件的例子:
$ cat .profile
stty erase ‘^h’ –tabs
MAIL=/usr/spool/mail/you
PATH=:$HOME/bin:/bin:/usr/bin:/usr/games
TERM=adm3
b=$HOME/book
expert MAIL PATH TERM b
date
who | wc –1
以上介绍的只是shell的基本概况。Linux系统还有很多资源,其中一个很有用的资源是把一些现有的命令组合成一个文件,shell解释并执行这些文件,从而生成你自己的命令,这种实现各种复杂的功能是十分经济的。
|
不同的shell采用不同的文件配置。bash用.bash_profile。csh用.login