Linux Bash基础特性 (1)

Bash的基础特性
(1)命令历史

   环境变量
       $HISTSIZE:命令历史纪录的条数
       $HISTFILE:~/.bash(用户的家目录)
       $HISTFILESIZE:命令历史文件记录历史的条数
   删除历史:
   history
          -d 要删除的第几条
          -c 清空命令历史
   history #:显示历史中最近的#条命令(#:代表数字)
       -a: 手动追加当前会话缓冲区的命令历史纪录至文件中
           调用历史中的命令
          !#:重复执行第#条命令
          !!:执行上一条
          !string:最近一个以"string"开头的指令
  调用上一条命令的最后一个参数
   !$或ESC+.
  控制命令历史的记录方式
   环境变量:HISTCONROL
       ignoredups:忽略重复的命令;连续且相同方式为"重复"
       ignorespace:忽略所有以空白开头的命令
       ignoreboth :上述两者同时生效
      修改环境变量方式: 例:export HISTCONTROL=ignorespace
         变量赋值:把赋值符号后面的数据存储于变量名指向内存空间;只对当前shell有效

(2)命令补全

直接补全:用户给定的字符串只对应唯一的一条命令
列表显示:以用户给定的字符串对应的命令不唯一,按两下"Tab"键就会列出,如下图所示

  内部命令:当你键入一个命令并且执行的时候,系统会首先判断是否为内部命令,如果是就直接执行
  外部命令:如果不是内部命令,就根据$PATH环境变量定义的路径,从左向右在每个路径,
  下搜寻用户给定的命令名命名的文件,第一次找到的则是要执行的文件

(3)路径补全

把用户给出的字符串当做路径的开头,并在指定的上级目录下搜寻以指定字符串开头的文件名,如果唯一,直接补全,否则还是两
次"Tab"键给出列表

(4)命令行展开

~:展开为用户的家目录
~USERNAME:展开为指定用户的家目录
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径
    /tmp/{a,b} = /tmp/a,/tmp/b
    /tmp/{tom,jerry}/hi = /tmp/tom/hi,/tmp/jerry/hi

(5)命令执行结果状态

    成功
    失败

    bash使用特殊变量"$?"保存最近一条命令的执行状态结果
    0:成功
    1-255:失败
    echo $? 获取上一条指令的执行结果状态
程序执行有两类结果:
    程序的返回值:结果
    程序的运行状态结果:成功/失败

你可能感兴趣的:(Linux Bash基础特性 (1))