ubuntu shell程式設計基礎

2021-10-01 12:18:32 字數 2228 閱讀 8595

1. 程式必須以下面的行開始:

#!/bin/bash

符號#!用來告訴系統它後面的引數是用來執行該檔案的程式。在這個例子中我們使用/bin/sh來執行程式。(可以執行echo $shell來看你的系統是使用那一類shell, 比如ubuntu使用的是/bin/bash,則第一行寫成#!/bin/bash)

2.使用#來新增注釋

3.對變數進行賦值:

#對變數賦值(注意等號前後不能有空格,因為加空格後a被認為是命令名而不是乙個變數):

a="hello world"

# 現在列印變數a的內容:

echo "a is:"

echo $a

#可以使用花括號來告訴shell我們要列印的是num變數:

num=2

echo "this is the $nd"

這將列印: this is the 2nd

let num=num+1

echo $num

列印: 3

4.grep 'pattern' file: 在檔案內搜尋字串比如:grep 'searchstring' file.txt

5.販毒案斜線(`)

反短斜線

使用反短斜線( ` )可以將乙個命令的輸出作為另外乙個命令的乙個命令列引數。

6.if條件語句

#!/bin/sh

if [ "$shell" = "/bin/bash" ]; then

echo "your login shell is the bash (bourne again shell)"

else

echo "your login shell is not bash but $shell"

fi7.快捷操作符

[ -f "/etc/shadow" ] && echo "this computer uses shadow passwords"

這裡 && 就是乙個快捷操作符,如果左邊的表示式為真則執行右邊的語句。

8.local

作用:一般用於shell內區域性變數的定義,多使用在函式內部

關於區域性變數和全域性變數: 

(1)shell 指令碼中定義的變數是global的,作用域從被定義的地方開始,一直到shell結束或者被顯示刪除的地方為止。 

(2)shell函式定義的變數也是global的,其作用域從 函式被呼叫執行變數的地方 開始,到shell或結束或者顯示刪除為止。函式定義的變數可以是local的,其作用域侷限於函式內部。但是函式的引數是local的。 

(3)如果區域性變數和全域性變數名字相同,那麼在這個函式內部,會使用區域性變數。

9.echo 命令

-n 不換行輸出

10.seq命令

產生從某個數到另外乙個數之間的所有整數

11.rm rf *

刪除當前目錄下所有的檔案,一般情況下用不到這個命令,這個命令非常危險,刪除後不能恢復。

12.xargs 命令

給命令傳遞引數的乙個過濾器

13.find命令

find [查詢目錄] [引數] [匹配模式][引數][匹配模式]

例如:find . -name "*.sh"    查詢在當前目錄(及子目錄)下以sh結尾的檔案;

-type 是find命令的乙個引數:

-type:查詢某一型別文件

b:塊裝置文件

d:目錄

c:字元裝置文件

p:管道文件

l:符號鏈結文件

f:普通文件

14.linux 三劍客:grep,awk,sed

grep 查詢;

awk資料分析並生成文字

linux sed 命令是利用指令碼來處理文字檔案。

sed 主要用來自動編輯乙個或多個檔案、簡化對檔案的反覆操作、編寫轉換程式等。

15.while read line

dodone < file

read通過輸入重定向,把file的第一行所有的內容賦值給變數line,迴圈體內的命令一般包含對變數line的處理;然後迴圈處理file的第二行、第三行。。。一直到file的最後一行。還記得while根據其後的命令退出狀態來判斷是否執行迴圈體嗎?是的,read命令也有退出狀態,當它從檔案file中讀到內容時,退出狀態為0,迴圈繼續驚醒;當read從檔案中讀完最後一行後,下次便沒有內容可讀了,此時read的退出狀態為非0,所以迴圈才會退出。

16.cut

使用特定的規則切分檔案內容並顯示出來,命令格式cut file "m,n"

Ubuntu shell 程式設計

開頭 bin sh 用來告訴系統,用 bin sh來執行程式。加許可權 chmod x filename 有的使用者還要更改檔案使用者為執行使用者 如 chown hadoop hadoop filename 之後才能用 filename執行 指令碼中可以加注釋,前面用 shell 中命令和系統中輸...

ubuntu shell 程式設計學習

1.開頭 bin bash 這句話必須放在檔案的第一行,符號 用來告訴系統它後面的引數是用來執行該檔案的程式。可以執行echo shell來看你的系統是使用那一類shell,比如ubuntu使用的是 bin bash,則第一行寫成 bin bash 進行shell程式設計時,以 開頭的句子表示注釋,...

初學Ubuntu shell程式設計

1 shell介紹 shell是使用者與核心之間的橋梁,也可以當作linux中的程式語言。shell與使用者互動的模式 在互動環境下,每次執行一條命令 通過編寫shell指令碼的方式 2 shell的編寫 shell直譯器 直譯器 eg bin bash shell的變數型別 環境變數 shell環...