bash命令、元字符

bash环境

shell一般代表两个层面的意思,一个是命令解释器,比如BASH,另外一个就是shell脚本。本节我们站在命令解释器的角度来阐述shell。

命令的优先级:

命令分为:

==> alias  #别名
  ==> Compound Commands  #指的是  if while for
    ==> function  #函数
      ==> build_in  #内置命令
        ==> hash
          ==> $PATH  #环境变量
            ==> error: command not found

 

man builtin  查看内置命令

function test () {read -p 'please input your hostname:' name;hostnamectl set-hostname $name;hostname}   #将这个语句打印出来,将输入的值赋值给name

hash -r  清除hash命令

hash  缓存常用的命令路径

unalias test = ‘ls -l’创建别名

unalias test  去除别名 

set  查看定了哪些义的函数

 

 

元字符

bash中的特殊字符,键盘上能敲出来的特殊字符都有其特殊意义,强调一点:元字符是被shell解释的

~ 家目录  cd ~  返回家目录

`` 命令替换 取命令的执行结果

[root@MiWiFi-R3-srv ~]# ls
4.txt anaconda-ks.cfg a.txt B.txt c.txt D.txt nginx-1.10.3 nginx-1.10.3.tar.gz
[root@MiWiFi-R3-srv ~]# res=`ls` #取命令的运行结果,赋值给变量res   res=$(ls)命令一样,以后用这个,``这个嵌套会出错
[root@MiWiFi-R3-srv ~]# echo $res #查看变量res的值
4.txt anaconda-ks.cfg a.txt B.txt c.txt D.txt nginx-1.10.3 nginx-1.10.3.tar.gz

! 取非  同^

  !666 执行历史命令

# 注释

  echo $?  判断上一条命令执行是否成功  0 为成功

  echo $[1+10]  求和

% 杀后台进程 jobs号; 取模

&后台执行   

  firefox &  后台运行火狐浏览器

  &&与运算

||或

* 匹配任意长度字符串;计算乘法

() 在子进程中执行

[root@MiWiFi-R3-srv ~]# x=1
[root@MiWiFi-R3-srv ~]# (x=666)
[root@MiWiFi-R3-srv ~]# echo $x
1
[root@MiWiFi-R3-srv ~]#
[root@MiWiFi-R3-srv ~]# (x=666;echo $x)
666

- 减号;区间;cd -;

_ 无特殊含义

= 赋值 == 判断

[] 字符通配,匹配括号内之一

  x=1

  y=2

  [ &y >&x ]  做逻辑判断

  echo $?

 

  money = 10

  echo $money000   拼接,结果为10000

{}

 { ls; cd /; } 命令列表括号内的开头和结尾必须是空格

 touch {1..10}.txt   一次建10个文件

[root@MiWiFi-R3-srv test]# touch {1..3}{a..d}.txt
[root@MiWiFi-R3-srv test]# ls
1a.txt  1b.txt  1c.txt  1d.txt  2a.txt  2b.txt  2c.txt  2d.txt  3a.txt  3b.txt  3c.txt  3d.txt

 

[]列表

 ls [a-Z].txt  筛选第一个字符是字母的文件

\ 转义

"" 软引 ''硬引   #软引用没有特殊意义

[root@MiWiFi-R3-srv test]# x=1

[root@MiWiFi-R3-srv test]# echo "$x" #双引号的代表软引用,引号内特殊字符有特殊意义,比如$,``等 1

[root@MiWiFi-R3-srv test]# echo '$x' #单引号代表硬引用,引号内所有字符都无特殊意义 $x

; 可以接多个命令:ls;pwd;echo 123;无论对错,会一直执行到最后一条命令

/ 目录分隔符

? 单个字符 

> 输出重定向

>> 追加

 

posted @ 2017-03-21 18:56  shy车队破风手  阅读(893)  评论(0)    收藏  举报