linux下shell編程基礎篇一

來源:互聯網
上載者:User

 

這是一篇shell的基礎文章,主要內容是bash的作用,history作用,管道符,如何自訂變數

如何執行指令碼等內容,下一篇會介紹一些如if,for,while,case等語句。歡迎各位與我交流。。。

一、shell環境概述

1.Shell的作用及常見分類

Shell的作用 —— 命令直譯器,“翻譯官”;介於作業系統核心與使用者之間,負責解釋命令列(類似於win下的cmd)

2. Shell環境的切換

1). 臨時切換:直接執行其他Shell程式,例如ksh、zsh等

2). 更改使用者登入Shell:

p 需修改/etc/passwd 檔案中使用者記錄的最後一個欄位

p 或執行:usermod -s Shell程式路徑 使用者名稱

3. Bash的常用功能

Tab鍵自動補齊 命令編輯快速鍵 命令曆史 命令別名

標準輸入輸出 重新導向操作 管道操作

4. Bash的命令曆史

1) 命令曆史

 儲存使用者曾經執行過的命令操作

 存放位置:~/.bash_history 檔案

2) 查看曆史命令history

3) 調用曆史命令

 !n:執行記錄中的第n條命令

 !str:執行記錄中以“str”開頭的命令

4) 設定記錄曆史命令的條數/etc/profile

 修改HISTSIZE 參數(預設為1000條)

5. Bash的標準輸入輸出

互動式硬體裝置

 標準輸入:從該裝置接收使用者輸入的資料

 標準輸出:通過該裝置向使用者輸出資料

 標準錯誤:通過該裝置報告執行出錯資訊

6. Bash的重新導向操作

改變標準輸入、標準輸出、標準錯誤的方向

7. Bash的管道操作

管道操作符號“|”

串連左右兩個命令,將左側的命令輸出的結果,作為右側命令的輸入(處理對象)

格式:cmd1 | cmd2 [... | cmdn]

二.Shell變數的應用

Shell變數的種類

 使用者自訂變數:由使用者自己定義、修改和使用

 環境變數:由系統維護,用於設定使用者的Shell工作環境,只有極少數的變數使用者可以修改

 預定義變數:Bash預定義的特殊變數,不能直接修改

 位置變數:通過命令列給程式傳遞執行參數

變數的賦值與引用

1)定義新的變數

 變數名要以英文字母或底線開頭,區分大小寫

 格式:變數名=變數值

2)查看變數的值

 格式:echo $變數名

3)從鍵盤輸入內容為變數賦值

 格式:read [-p "資訊"] 變數名

4)結合不同的引號為變數賦值

 雙引號 “ ” :允許通過$符號引用其他變數值

 單引號 ‘ ’ :禁止引用其他變數值,$視為一般字元

 反撇號` ` :將命令執行的結果輸出給變數

5)設定變數的作用範圍

 格式:export 變數名...

export 變數

6) 數值變數的運算

計算整數運算式的運算結果

 格式:expr 變數1 運算子 變數2 ...[運算子 變數n]

expr的常用運算子

 加法運算:+

 減法運算:-

 乘法運算:\*

 除法運算:/

 求模(取餘)運算:%

環境變數

1) 環境變數設定檔

 全域設定檔:/etc/profile

 使用者設定檔:~/.bash_profile

2) 查看環境變數

 set命令可以查看所有的Shell變數,其中包括環境變數

常見的環境變數:path變數,類似於windows的path

三.Shell指令碼的概念

1. Shell指令碼

a) 用途:完成特定的、較複雜的系統管理任務

b) 格式:集中儲存多條Linux命令,普通文字檔

c) 執行方式:按照預設的順序依次解釋執行

2. 運行Shell指令碼程式

1) 直接執行具有“x”許可權的指令檔

 例如:./repboot.sh

2) 使用指定的解譯器程式執行指令碼內容

 例如:bash repboot.sh、sh repboot.sh

3) 通過source命令(或. )讀取指令碼內容執行

 例如:souce repboot.sh 或. hello.sh

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.