
• printenv –打印部分或所有的环境变量
• set –设置 shell 选项
• export —导出环境变量,让随后执行的程序知道。
• alias –创建命令别名
1.shell环境:shell在shell会话中维护着大量的信息,这些信息称为shell环境
2.shell的基本数据类型?
1)shell变量:由 bash 存放的一很少数据。
2)环境变量:其他的所有数据,一些特殊的隐藏变量,他们被 shell 或者操作系统自身所引用,被称之为环境变量;
也存储了一些可编程数据,命名为别名和shell函数(涉及shell脚本)
一、检查环境变量
set命令可以显示 shell 和环境变量两者,而 printenv 只是显示环境变量。
1.因为环境变量内容列表相当长,所以最好把每个命令的输出结果管道到 less 命令:
xiaohui@ubuntu:~$ printenv | less 会打开一个新的文件显示所有的环境变量
less与more的区别:
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
2.printenv 命令也能够列出特定变量的数值:
xiaohui@ubuntu:~$ printenv USER
xiaohui
3.当使用没有带选项和参数的 set 命令时, shell 和环境变量二者都会显示,同时也会显示定义的 shell 函数。不同于 printenv 命令, set 命令的输出结果很礼貌地按照字母顺序排列:
xiaohui@ubuntu:~$ set | less
4.通过 echo 命令来查看一个变量的内容
xiaohui@ubuntu:~$ echo $HOME
/home/xiaohui
5.如果 shell 环境中的一个成员既不可用 set 命令也不可用 printenv 命令显示,则这个变量是别名。输入不带参数的 alias 命令来查看它们
xiaohui@ubuntu:~$ alias
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
…………
二、如何建立shell环境?
当我们登录系统后,启动 bash 程序,并且会读取一系列称为启动文件的配置脚本,这些文件定义了默认的可供所有用户共享的 shell 环境。
然后是读取更多位于我们自己主目录中的启动文件,这些启动文件定义了用户个人的 shell 环境。
精确的启动顺序依赖于要运行的 shell 会话类型。有两种 shell 会话类型:一个是登录 shell 会话,另一个是非登录 shell 会话。
登录 shell 会话会提示用户输入用户名和密码;例如,我们启动一个虚拟控制台会话。当我们在 GUI 模式下运行终端会话时,非登录 shell 会话会出现
1.登录shell会读取一个或多个启动文件
/etc/profile ~/.bash_profile ~/.bash_login ~/.profile
2.非登录shell会话会读取以下启动文件
/etc/bash.bashrc ~/.bashrc
三、修改shell环境
根据启动文件所在的位置和他们所包含的内容,修改他们来定制我们自己的shell环境。
1.修改哪个文件?
添加目录倒你的path变量或是定义额外的环境变量,要把这些更改放置在.bash.profile文件中(Ubantu是放在.prfile)
其他的修改要放在.bashrc文件中
如果你你是系统管理员,需要为系统的所有用户修改默认设置,那么则限定你只对自己主目录下的文件进行修改
2.怎么修改文件内容?——编辑shell的启动文件,使用文本编辑器
(1)文本编辑器:为了编辑(例如修改)shell的启动文件,还有系统中大多数其他设置文件,我们使用文本编辑程序。文本编辑器是软件开发人员用来写代码,和程序管理员用来管理系统配置文件的重要工具。
(2)分类:1)图形化编辑器:GONME自带了gedit的编辑器
KDE自带了kedit kwrite kate
2)基于文本的编辑器:nano,vi,emacs
(3)使用文本编辑器
1)gedit
huiubantu@ubuntu:~$ gedit some_file 会打来gedit新窗口的图形化编辑器。并且加上想要编辑的文件some_file,如果文件存在则唤醒,不存在默认创建一个新文件
2)nano
首先,我们先创建文件.bashrc的备份文件,注意,扩展名为 .bak .sav .old .prig的都是用来指示备份文件的流行方法
huiubantu@ubuntu:~$ cp .bashrc .bashrc.bak
启动nano编辑器
huiubantu@ubuntu:~$ nano .bashrc 会打开nano新窗口的文本编辑器。这个编辑器最上边是标头,中间是正在编辑的文件文本,下边是命令菜单,并且nano用Ctrl-o保存,用Ctrl-x关闭nano
然后在编辑区域,进行命令更改
#Change umask to make directory sharing easier 注意#是注释符
umask
#Ignore duplicates in command history and increase history size to lines
export HISTORY=ignoredups
export HISTZISE=
#Add some helpful aliases
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
保存,关闭编辑器 Ctrl-o Ctrl-x
注意!我们对.bashrc的修改不会生效,直到我们关闭终端会话,再重启一个新的会话!!这是激活我们的修改的必经之路