1 export : 导出/传递环境变量至子Shell.
2 source / . :
以一个脚本为参数,该脚本将作为当前shell的环境执行,即不会启动一个新的子进程。所有在脚 本中设置的变量将成为当前Shell的一部分。
同样的,当前脚本中设置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始 化文件.
http://www.linuxso.com/command/export.html
妙用: 在多个QT版本之间切换时可以写好脚本,然后用 source / . 进行各各版本之间切换
3 type :
命令用来显示指定命令的类型。一个命令的类型可以是如下之一
alias 别名
keyword 关键字,Shell保留字
function 函数,Shell函数
builtin 内建命令,Shell内建命令
file 文件,磁盘文件,外部命令
unfound 没有找到
http://codingstandards.iteye.com/blog/831504
4 > / 输出重定向 :
0 标准输入 1 标准输出 2 标准出错 /dev/null 黑洞 //0 1 2 是通道编号, 文件描述符(Linux 系统编程 fd)
eg: type cp > /dev/null 2>&1 //即1>/dev/null, 2>&1 由于1已经定向到 /dev/null, 2>&1>/dev/null, 类似传递.
5 dmesg:
dmesg命令用于打印Linux系统开机启动信息,kernel会将开机信息存储在ring buffer中。
参考:http://codingstandards.iteye.com/blog/837486
6 exec :
shell的内建命令exec将并不启动新的shell,而是用要被执行命令替换当前的shell进程,并且将老进程的环境清理掉,而且exec命令后的其它命令将不再执行。
不过,要注意一个例外,当exec命令来对文件描述符操作的时候,就不会替换shell,而且操作完成后,还会继续执行接下来的命令。
eg: ... exec 2>&1 echo"exec finished!" // exec后续命令继续执行
http://www.2cto.com/os/201210/163711.html
http://blog.youkuaiyun.com/cyberrusher/article/details/7253385
7 shift :
对于某个命令行参数,其参数个数可以不固定,但是可以通过$*或$@进行循环操作。若用户要求Shell在不知道变量个数的情况下,还能逐个处理参数,也就是在$1之后是$2,$2之后是$3。在未运行shift命令之前$1是可用的,当使用shift命令之后,原来的$2会变成$1,并且原有的$1变得不可用,通过$#命令获得的参数个数也会少1。
http://blog.sina.com.cn/s/blog_7099ca0b0100n38w.html