bash命令、元字符

bash環境

shell通常表明兩個層面的意思,一個是命令解釋器,好比BASH,另一個就是shell腳本。本節咱們站在命令解釋器的角度來闡述shell。nginx

命令的優先級:shell

命令分爲:瀏覽器

==> alias  #別名
  ==> Compound Commands  #指的是  if while for
    ==> function  #函數
      ==> build_in  #內置命令
        ==> hash
          ==> $PATH  #環境變量
            ==> error: command not found緩存

 

man builtin  查看內置命令bash

function test () {read -p 'please input your hostname:' name;hostnamectl set-hostname $name;hostname}   #將這個語句打印出來,將輸入的值賦值給name函數

hash -r  清除hash命令ui

hash  緩存經常使用的命令路徑spa

unalias test = ‘ls -l’建立別名firefox

unalias test  去除別名 3d

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;不管對錯,會一直執行到最後一條命令

/ 目錄分隔符

? 單個字符 

> 輸出重定向

>> 追加

相關文章
相關標籤/搜索