标签:
shell能够提供给用户操作系统的一个接口,能够将我们输入的命令与内核通信,好让内核可以控制硬件来正确无误的工作。shell中有很多中形式,比如bshell,CShell,KShell,TCSH等等,通过/etc/shells中文件可以查看当前系统中存在的shell形式。当我们进行用户登录时,系统会自动检查/etc/passwd目录下的文件,取得当前系统中当前用户使用的shell形式。
bshell中的特性:
1、命令补全
2. 命令历史
查看命令历史:history
-c:清空命令历史
-d OFFSET [n]: 删除指定位置的命令
-w:保存命令历史至历史文件中
3.命令别名
alias CMDALIAS=‘COMMAND [options] [arguments]‘
在shell中定义的别名仅在当前shell生命周期中有效;别名的有效范围仅为当前shell进程;
ualias CMDALIAS
4、命令行编辑
光标跳转:
Ctrl+a:跳到命令行首
Ctrl+e:跳到命令行尾
Ctrl+u: 删除光标至命令行首的内容
Ctrl+k: 删除光标至命令行尾的内容
Ctrl+l: 清屏2、管道、重定向
bash支持的引号:
``: 命令替换
"": 弱引用,可以实现变量替换
‘‘: 强引用,不完成变量替换
5、文件名通配, globbing
*: 任意长度的任意字符
?:任意单个字符
[]:匹配指定范围内的任意单个字符
[abc], [a-m], [a-z], [A-Z], [0-9], [a-zA-Z], [0-9a-zA-Z]
[:space:]:空白字符
[:punct:]:标点符号
[:lower:]:小写字母
[:upper:]: 大写字母
[:alpha:]: 大小写字母
[:digit:]: 数字
[:alnum:]: 数字和大小写字母
# man 7 glob
[^]: 匹配指定范围之外的任意单个字符
[[:alpha:]]*[[:space:]]*[^[:alpha:]]
6、变量
主要分为环境变量、本地变量、位置变量、特殊变量。
本地变量: set VARNAME=VALUE:作用域为整个bash进程。
局部变量:local VARNAME=VALUE 作用域为当前代码段
环境变量: 作用域为当前shell进程及其子进程;
export VARNAME=VALUE
VARNAME=VALUE
export VARNAME "导出"
特殊变量$?:上一个命令的执行状态返回值
程序执行可能有两类返回值:程序执行结果,程序状态返回代码(0-255) 0:正确执行 1-255:错误执行,其中1,2,127系统预留。
与变量相关的操作命令有:
查看系统中所有变量(含环境变量和自定义变量):set
撤销变量: unset VARNAME
查看当前shell中的环境变量:printenv、env、export
7、编程
标签:
原文地址:http://my.oschina.net/alfredliukai/blog/489766