这里介绍一些bash启动前、后的问题,以及一些使用bash需要注意的基本问题。
1、Bash的介绍
===========
Bash是一种Shell程序,它是一般的Linux系统中的默认的Shell程序,一般情况下Bash指的是/bin/bash这个软件。
一个Linux系统中有多少个可用的Shell程序,可以从/etc/shells文件中查出来。
当前登录用户的默认Shell是哪一个,可以从/etc/passwd文件中与此用户对应的那一行最后一个字段看出来。或者也可以通过echo $SHELL来查看。
2、内部命令与外部命令
====================
Bash中可用的命令分为两类,分别是:内部命令和外部命令。内部命令是Bash的一部分,而外部命令都是一个一个独立于Bash的软件。
在bash的用户提示符下,可以输入内部命令和外部命令,然后bash会分析命令,之后执行命令。bash执行内部命令不会产生新的进程,而在执行外部命令的时候,bash会用fork函数生成一个新的进程,然后用exec函数来加载这个外部命令的程序来执行这个外部命令。
怎么来区分一个命令是内部命令还是外部命令呢?用type命令来区分。type本身是一个内部命令,type commandName可以知道commandName这条命令的是内部命令还是外部命令。
3、环境变量与用户自定义变量
=====================
环境变量是对所有的进程(包括bash的进程和非bash的进程)都可见的变量,一般用大写字母的组合作为变量名,所以也称为全局变量。
名词解析:临时环境变量和永久环境变量。其实全局变量都是通过export导出的变量。
临时全局变量是在bash的命令提示符下或者bash scripts下用export导出的变量,这些变量在机器重启之后会消失,除非再次执行export命令或者再次执行相应的scripts。
永久环境变量是写在配置文件中的,这些配置文件在每次重启机器甚至重开一个bash的时候都会被再执行一次,所以这些文件中的全局变量一直存在,不会因为重启机器而消失,看上去好像是永久的,其实是每次都重新export了。
延伸阅读
学习是年轻人改变自己的最好方式