shell 指令碼 字串切片

2021-08-14 15:34:57 字數 2696 閱讀 3530

[root@centos6 ~]# alpha=`echo  |tr -d " "`  \\建立乙個變數將26個字母賦值進去,並且不要空格

[root@centos6 ~]# echo $alpha

abcdefghijklmnopqrstuvwxyz

[root@centos6 ~]# echo $ \\檢視變數的字元有多少個

26

[root@centos6 ~]# echo $ //跳過前3個顯示後面全部

defghijklmnopqrstuvwxyz

[root@centos6 ~]# echo $   \\跳過3個取4個

defg

[root@centos6 ~]# echo $

xyz

[root@centos6 ~]# echo $   //centos6不支援這種寫法

-bash: -4: substring expression < 0

[root@centos7 ~]# echo $ //7上是可以的,取前3個到倒數第4個之間的

defghijklmnopqrstuv

[root@centos7 ~]# echo $  \\取倒數3個但是最後又2個不要

x[root@centos7 ~]# echo $ \\前面的數字一定要比後面的數字大

vwx

file="var/log/messages「

$: log/messages

$: messages

$:同上,只不過刪除字串最右側的字元向左直至最後一次出現word字元之間的所有字元

[root@centos7 ~]# echo $
示列

[root@centos7 ~]# echo $ //查詢替換也可以就是查詢用空代替

:x:0:0:root:/root:/bin/bash

[root@centos7 ~]# echo $

:x:0:0::/:/bin/bash

[root@centos7 ~]# echo $

:x:0:0:root:/root:/bin/bash

[root@centos7 ~]# echo $

:x:0:0:root:/root:/bin/bash

[root@centos7 ~]# echo $

root:x:0:0:root:/root:/bin/bash

[root@centos7 ~]# echo $ //但是變數裡是沒有變的只是顯示變了

root:x:0:0:root:/root:/bin/bash

[root@centos7 ~]# var=$  //當line有值時var的值就是line的值

[root@centos7 ~]# echo $var

root:x:0:0:root:/root:/bin/bash

[root@centos7 ~]# line=""

[root@centos7 ~]# var=$ //當line的值為空時var的值就是line的值

[root@centos7 ~]# echo $var

[root@centos7 ~]# unset line

[root@centos7 ~]# var=$ //當line沒有定義時var的值就是haha

[root@centos7 ~]# echo $var

haha

declare [選項] 變數名

-r 宣告或顯示唯讀變數

-i 將變數定義為整型數

-a 將變數定義為陣列

-a 將變數定義為關聯陣列

-f 顯示已定義的所有函式名及其內容

-f 僅顯示已定義的所有函式名

-x 宣告或顯示環境變數和函式

-l 宣告變數為小寫字母 declare  -l var=uuper

shell指令碼 字串

printf printf 10s 10s 10s n no name height printf 10s 10s 10d n 1 whr 187 2 wsl 198 字串切片 冒號後面一定要加空格 基於模式取子字串 從左至右 刪除pattern第一次匹配到的 刪除pattern最後一次匹配到的 從...

Shell指令碼 字串擷取

假設變數var值為 使用 與 或 的結合實現字串擷取 刪除變數var從左邊算起的最後乙個 字元及其左邊的內容,返回處理後的字串 echo 123.html 若在shell指令碼中,可將處理後的結果賦值給變數 刪除變數var從左邊算起第乙個 字元及其左邊的內容,返回處理後的字串 刪除變數var從右邊算...

shell指令碼字串擷取

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