bash特性
- 命令补全机制
- 目录补全机制
- 返回命令的执行状态结果
成功的结果都是0,失败的结果却各不相同
执行ls /etc
输出执行状态 echo $?
引用命令的输出结果
-
快捷键
-
命令行展开
~ 自动展开为用户的家目录,或者是指定用户的家目录
{} 可以承载一个以逗号分隔的路径列表,并能够将其展开为多个路径
/tmp/{a,b} 表示的就是 tmp/a tmp/b
还可以接收以 .. 分隔的两个量 {1..10} 代表的就是从1到10 -
hash命令
初始hash
执行几个命令
查看hash表
hash是内嵌命令
删除指定的已hash命令
清空
-
变量
变量的使用:
不适用{}来包含变量名,echo在解释的时候会把整体当成一个变量,
echo一个不存在的变量,返回结果空,
使用{},echo会将变量名解释,在拼接字符串,打印出变量代表的值
- 多命令执行
查看环境变量
- shell脚本编程
示例:
执行
再次执行
shell第一条命令对于已存在的用户,就执行失败了,所以需要对脚本增加判断容错
或运算,id判断用户是否存在,存在就不执行后面的useradd操作了,没有的话才执行
注意
在shell脚本中除了第一行的shebang。其他以#开头的语句都会被注释,在shell脚本中的空行在解释时也会被忽略,如果要输出空行,需要添加一echo,echo 就输出一个空行
- shell的按照登录类型分类:
环境变量:
profile
bashrc
仅管理员可以修改全局配置文件
环境的导入顺序: