bash特性

  1. 命令补全机制
  2. 目录补全机制
  3. 返回命令的执行状态结果

成功的结果都是0,失败的结果却各不相同
执行ls /etc
输出执行状态 echo $?

引用命令的输出结果

  1. 快捷键

  2. 命令行展开
    ~ 自动展开为用户的家目录,或者是指定用户的家目录
    {} 可以承载一个以逗号分隔的路径列表,并能够将其展开为多个路径
    /tmp/{a,b} 表示的就是 tmp/a tmp/b
    还可以接收以 .. 分隔的两个量 {1..10} 代表的就是从1到10

  3. hash命令
    初始hash

    执行几个命令

    查看hash表

    hash是内嵌命令
    删除指定的已hash命令

    清空

  4. 变量





变量的使用:

不适用{}来包含变量名,echo在解释的时候会把整体当成一个变量,
echo一个不存在的变量,返回结果空,
使用{},echo会将变量名解释,在拼接字符串,打印出变量代表的值

  1. 多命令执行


查看环境变量

  1. shell脚本编程

示例:

执行

再次执行

shell第一条命令对于已存在的用户,就执行失败了,所以需要对脚本增加判断容错

或运算,id判断用户是否存在,存在就不执行后面的useradd操作了,没有的话才执行


注意
在shell脚本中除了第一行的shebang。其他以#开头的语句都会被注释,在shell脚本中的空行在解释时也会被忽略,如果要输出空行,需要添加一echo,echo 就输出一个空行

  1. shell的按照登录类型分类:

环境变量:
profile

bashrc

仅管理员可以修改全局配置文件

环境的导入顺序:

原文地址:https://www.cnblogs.com/cizao/p/11484403.html