bash基础特性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bash基础特性相关的知识,希望对你有一定的参考价值。

所有的环境变量可以通过 ehco $# 查看 #为环境变量  

bash的基础特性:


(1)命令历史

history

环境变量:

HISTSIZE:命令历史记录的条数

HISTFILE;~/.bash_history

HISTFILESIZE:命令历史文件记录历史的条数


history -d offset 删除某条历史命令

history -c 清空历史命令

history #:显示历史中最近的#条命令

history -a:手动追加当前回话缓冲区的命令历史至历史文件中


调用历史中的命令:

!#:重复执行第#条指令

!#:重复最近以#开头的指令


调用上一条命的最后一个参数:

!$:

实例:

[[email protected]_IT ~]# cat /etc/fstab 

/dev/vda1            /                    ext3       noatime,acl,user_xattr 1 1

proc                 /proc                proc       defaults              0 0

sysfs                /sys                 sysfs      noauto                0 0

debugfs              /sys/kernel/debug    debugfs    noauto                0 0

devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

[[email protected]_IT ~]# ls -l !$

ls -l /etc/fstab

-rw-r--r--. 1 root root 396 May 11 19:56 /etc/fstab

[[email protected]_IT ~]# 


控制命令历史的记录方式:

环境变量:HISTCONTORL

ignoredups:忽略连续重复命令(默认)

ignorespece:忽略以空格开头的指令

ignoreboth:上述两个都生效


修改环境变量值得方式:export 变量名="值"

变量赋值:把赋值符号后面的数据存储于变量名指向内存空间



(2)命令补全

bash执行命令:

内部命令;

外部命令:bash根据PATH环境变量定义的路径,自左向右在每个路径搜寻以给定命令名命名的文件,第一次找到即为要执行的命令


直接补全:Tab,用户给定的字符串只有一条唯一对应的命令。

以用户给定的字符串开头对应的命令不唯一,则再次Tab可列出所有以该字符串开头的命令,方式如外部命令。


(3)路径补全

把用户给的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名

如果唯一:则给出结果

不唯一:再次Tab,给出列表


(4)命令行展开

{}:可承载一个以都好分隔的列表,并将其展开为多个路径

/tmp/{a,b} = /tmp/a , /tmp/b


 (5)命令执行结果状态

  成功

  失败


  bash使用特殊变量$?保存最近一条命令的执行状态结果;

  0:成功

  1-255:失败


  程序执行有两个结果:

  程序的返回值

  程序的执行状态结果


以上是关于bash基础特性的主要内容,如果未能解决你的问题,请参考以下文章

bash基础特性

bash的基础特性

Bash基础特性

Lunix基础入门--bash的基础特性

bash 基础特性命令引用

bash的基础特性