Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
以下是几种shell版本,bash是默认的:
sh(全称 Bourne Shell): 是UNIX最初使用的 shell,而且在每种 UNIX 上都可以使用。
Bourne Shell 在 shell 编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种 shell。
bash(全称 Bourne Again Shell): LinuxOS 默认的,它是 Bourne Shell 的扩展。
与 Bourne Shell 完全兼容,并且在 Bourne Shell 的基础上增加了很多特性。可以提供命令补全,命令编辑和命令历史等功能。它还包含了很多 C Shell 和 Korn Shell 中的优点,有灵活和强大的编辑接口,同时又很友好的用户界面。
csh(全称 C Shell): 是一种比 Bourne Shell更适合的变种 Shell,它的语法与 C 语言很相似。
Tcsh: 是 Linux 提供的 C Shell 的一个扩展版本。
Tcsh 包括命令行编辑,可编程单词补全,拼写校正,历史命令替换,作业控制和类似 C 语言的语法,他不仅和 Bash Shell 提示符兼容,而且还提供比 Bash Shell 更多的提示符参数。
ksh (全称 Korn Shell): 集合了 C Shell 和 Bourne Shell 的优点并且和 Bourne Shell 完全兼容。
pdksh: 是 Linux 系统提供的 ksh 的扩展。
pdksh 支持人物控制,可以在命令行上挂起,后台执行,唤醒或终止程序。
下面看下Linux中Bash环境变量的配置
在Linux中,我们一般将环境变量信息配置到不同的文件中,常用的配置文件有
- /etc/profile
- /etc/bashrc
- ~/.bash_profile
- ~/.bashrc
- ~/.bash _logout
上面几个配置主要是在交互式登录Shell和交互式非登录Shell有区别,会加载不同的配置。
交互式登录Shell
就是登录Linux系统,你输入用户名和密码后执行的,或su -l.
用户名方式
非登录Shell
就是你进入系统后,开一个终端Bash执行的。
/etc/profile
一般为系统配置,为系统的每个用户设置环境信息, 当用户第一次登录时,该文件被执行, 并从/etc/profile.d
目录的配置文件中搜集shell的设置.
对 /etc/profile
的修改必须得重启才会生效,而且每个用户都是有效的。
/etc/profile.d/
可以理解为/etc/profile
的一部分,只不过可以根椐类别或功能将配置拆分成若干个文件,这样更清晰也便于维护。
/etc/bashrc
为每个运行 Bash Shell 的用户执行该文件,当Bash Shell打开时,该文件被执行,其配置对所有使用bash的用户打开的每个Bash都有效。当被修改后,不用重启只需要打开一个新的 Bash 即可生效。
~/.bash_profile
文件在用户目录下,为当前用户设置专属的环境信息和启动程序,当用户登录时该文件执行一次,并执行当前用户的 .bashrc
文件。如果有修改,也需要重启才能生效。
~/.bashrc
为当前用户设置专属的 Bash 信息,当每次打开新的Shell时,该文件被执行。如有修改,不需要重启只需要开一个新的Shell终端就行了。
~/.bash_logout
当前用户每次退出Bash Shell时执行该文件。
以上需要重启才能生效的文件,是通过类似 source ~/.bash_profile
这样的方式暂时生效的,并不是真的重启电脑。
总结
到此这篇关于Linux中Bash环境变量的配置方法的文章就介绍到这了,更多相关linux 环境变量配置内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!