Shell 概述 擷取字元操作等

2022-08-02 07:18:13 字數 2043 閱讀 4312

shell 是用c語言編寫的程式,便於使用者與linux核心系統進行互動。

linux的shell種類眾多,常見的有:

bourne again shell (bash) 由於易用和免費,在日常中被廣泛使用。同時也是大多數linux系統預設的shell。

第乙個 shell指令碼

使用文字編輯器vi/vim ,新建乙個檔案 kimbo_test.sh, 副檔名.sh 代表shell。 

ps: 副檔名並不影響指令碼執行,用於標識(見名知意)

#!/bin/bash

echo

"hello world!

"

"#!" 是乙個約定標記,告訴系統需要什麼直譯器執行,即使用哪一種shell

shell 只有單行注釋,使用符號 "#"

shell 變數

1.定義:必須使用字母、下劃線

2.使用: 用美元符號 "$" ,加上變數名

#!/bin/bash

## 定義變數

my_name="

kimbo

"## 列印變數

echo $

說明:大括號用來表明變數的邊界,也可以 直接使用 $my_name 。為了可讀性、防止歧義,建議使用大括號

shell 字串

單引號:屬於強引用,任何字元都會原樣輸出

雙引號:屬於弱引用,可以解析變數、轉義字元 (盡可能使用雙引號)

拼接字串

#!/bin/bash

## 定義變數

my_name="

kimbo

"my_work="

data analysis

"## 拼接變數

my_result="my name is $,my work is $."

## 列印變數

echo $

2.獲取字串長度

#!/bin/bash

## 定義變數

my_name="

kimbo

"## 列印變數,取字串長度

echo $

3.擷取部分字元

語法:$,start表示從**開始擷取,len表示 總共擷取多少位。

#!/bin/bash

## 定義變數

my_name="

kimbo

"## 列印變數,從左邊第2個字元開始,擷取3位

echo $

4. 其他擷取方式

語法:$ 最小限度從左邊擷取str

$ 最大限度從左邊擷取str

$ 最小限度從右邊擷取str

$ 最大限度從右邊擷取str

#!/bin/bash

##定義變數

my_website="

"## 列印變數

echo

"var is: $

"## 從左邊開始查詢,擷取右邊的字元(保留後面)

## 最小限度

echo

"1: $

"## 最大限度

echo

"2: $

"## 從右邊開始查詢,擷取左邊的字元(保留前面)

## 最小限度

echo

"3: $

"## 最大限度

echo

"4: $

"

執行結果:

5. 字元替換

i) 首次替換:$

ii)全部替換:$

#!/bin/bash

test_str="

this is kimbo,he is a humor guy. by kimbo zhang.

"echo

"單替換:$

"echo

"全部替換:$

"

執行結果:

shell 擷取字串

假設有變數 var 一 號擷取,刪除左邊字元,保留右邊字元。echo 其中 var 是變數名,號是運算子,表示從左邊開始刪除第乙個 號及左邊的所有字元 即刪除 http 結果是 www.linuxidc.com test.htm 二 號擷取,刪除左邊字元,保留右邊字元。echo 表示從左邊開始刪除最...

shell 擷取字串

shell中擷取字串的方法有很多中,一共有9種使用方法。上面4種可以用來進行預設值的替換。上面這種可以獲得字串的長度。最小限度從後面擷取word 最大限度從後面擷取word 最小限度從前面擷取word 最大限度從前面擷取word 上面4個就是用來擷取字串的方法了。有了著四種用法就不必使用cut命令來...

shell 擷取字串

1.e asdf asdf asdf sdfsdf echo 結果 asdf asdf sdfsdf 用 操作符,表示匹配asdf字串,並從該字串後面開始擷取剩下的字串 2.e asdf asdf asdf sdfsdf echo 結果 asdf as 其中的 0 表示左邊第乙個字元開始,7 表示字...