Linux中shell的學習

下面是我學習慕課網Linux運維工程師的部分筆記,,慕課網學習地址Linux運維工程師學習路徑

1.1,一個完整的shell腳本應該包括

腳本申明,#!
註釋信息,#
可執行語句
例如:

#!/bin/bash
#For Example
pwd

1.2,執行腳本的三種方式

  • 腳本文件路徑 ./Example.sh
  • sh腳本文件路徑 sh example.sh
  • source腳本文件路徑 source example.sh
    直接訪問腳本路徑的方式有點特殊,需要加可執行權限,
    chmod u+x Example.sh

1.3,查看shell

  • cat /etc/shells #查看系統中可用的shell解釋器查看
  • echo $SHELL #查看系統的當前shell解釋器

2.1,shell接受用戶的參數

Example.sh
$1,$2,three,four,five,$6
還有下面這些已經被定義的shell預定義變量

$0#當前執行shell腳本的程序名
$1-9,\${10},${11}...#參數的位置變量
$# , #一共有多少個參數
$* , #所有位置變量的值
$? , #判斷上一條命令是否執行成功,0成功,非0失敗
vim Example.sh
#! /bin/bash
echo "總共有$#個參數,分別是$*。"
echo "第一個參數爲$1,第五個參數爲$5。"

這一章我也有點迷,視頻地址http://www.imooc.com/learn/175


3.1 通配符

? #匹配任意一個字符
* #匹配一個,0個,多個任意字符,也就是可以匹配任意字符
[] #匹配括號中任意一個字符
[-] #匹配括號中任意一個字符,其中”-“代表一個範圍
[^] #邏輯非,表示匹配不是中括號中的任意一個字符,例如[^0-9]


4.1 輸出重定向

1,表示含義

設備 設備文件名 文件描述符 類型
鍵盤 /dev/stdin 0 標準輸入
顯示器 /dev/stdout 1 標準輸出
顯示器 /dev/sdterr 2 標準錯誤輸出

2,

類型 符號 作用
標準輸出重定向 命令 > 文件 以覆蓋的方式添加到文件內
標準輸出重定向 命令 >> 文件 以追加的方式把命令的正確輸出指定文件或設備中
標準錯誤輸出重定向 錯誤命令2>文件 “>”左右兩邊沒有空格
標準錯誤輸出重定向 錯誤命令2>>文件 也沒有空格,以追加的方式

3,正確輸出和錯誤輸出同時保存

  • 命令 > 文件2>&1 覆蓋,保存到同一個文件
  • 命令 >> 文件2>&1 追加,保存到同一個文件
  • 命令 &> 文件 覆蓋
  • 命令 &> 文件 追加
  • 命令 >> 文件1 2>>文件2 正確輸出到文件1,錯誤輸出到文件2

5.1 管道符

1,多命令執行符

多命令執行符 格式 作用
; 命令1 && 命令2 邏輯與,命令1正確執行,命令2纔會執行;命令1執行不正確,命令2也不會執行
&& 命令1 || 命令2 邏輯或,命令1執行不正確,命令2纔會執行;當命令1執行正確,命令2不會執行

2,管道符

命令1 | 命令2
可以將命令1的正確輸出作爲命令2的操作對象

例如:
ll -a /etc/ | more
netstat -an | grep “ESTABLISHED”


6.1 bash中的其他特殊符號

  • ” ,單引號,在單引號中所有的特殊符號,如”$”和”`”都沒有特殊含義
  • “” ,雙引號,在雙引號中特殊符號都沒有特殊含義,但是”$”, “`”,”\”例外,擁有調用變量的值,引用命令,和轉義符的作用
  • “ ,反引號,反引號括起來的內容是系統命令,在bash中會先執行它
  • ()使 (),因爲反引號會比較容易看錯。
  • # ,代表註釋
  • $ ,調用變量的值
  • \ ,轉義符
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章