Shell基礎及變數 3 20

2021-08-17 07:10:51 字數 1975 閱讀 5418

1.shell指令碼的基礎:

shell指令碼是基本命令的組合,結合命令流程控制。

第一行(頂格寫):#! /bin/bash

shell指令碼的執行方式:(1)首先要使指令碼具有執行許可權: chmod +x  test.sh          然後./test.sh執行指令碼

(2)bin/sh  test.sh

2.shell指令碼中變數型別:本地變數(區域性變數)、環境變數、位置變數、特殊變數

(1)本地變數(區域性變數):本地整個bash程序都可以使用,僅對當前**段有用,其他shell啟動的程式不能訪問區域性變數

(2)環境變數:作用域為當前shell進行及其子程序,命令列中啟動的指令碼會繼承當前shell環境變數,系統自動執行的指令碼(非命令列啟動)就需要自我定義需要的環境變數

(3)位置變數:$1,$2,用來傳遞引數

$ chmod +x test.sh 

$ ./test.sh 1 2 3

shell 傳遞引數例項!

執行的檔名:./test.sh

第乙個引數為:1

第二個引數為:2

第三個引數為:3

例如:#!/bin/bash

echo "shell 傳遞引數例項!";

echo "執行的檔名:$0";

echo "第乙個引數為:$1";

echo "第二個引數為:$2";

echo "第三個引數為:$3";

$0:執行指令碼的名字       $_:代表上乙個命令的最後乙個引數      $!:代表最後執行的後台命令的pid

不同點:只有在雙引號中體現出來。假設在指令碼執行時寫了三個引數 1、2、3,,則 " * " 等價於 "1 2 3"(傳遞了乙個引數),而 "@" 等價於 "1" "2" "3"(傳遞了三個引數)。

例如以下shell指令碼例子:

#!/bin/bash

echo "-- \$* 演示 ---"

for i in "$*"; do

echo $i

done

echo "-- \$@ 演示 ---"

for i in "$@"; do

echo $i

done

shell指令碼的執行:

$ chmod +x test.sh 

$ ./test.sh 1 2 3

-- $* 演示 ---

1 2 3

-- $@ 演示 ---12

3.變數的操作:

(1)變數名稱:只能包含字母、數字、下劃線,並且不能以數字開頭,不能與系統已有變數重名,見名知意

(2)變數定義:   your_name="runoob.com"注意,變數名和等號之間不能有空格,要區別於程式語言中的程式設計習慣

(3)檢視變數:   set:檢視所有變數      檢視當前shell中的環境變數(printenv、env、export)

(4)變數引用:   $,如果要列印變數則使用echo $

(5)撤銷變數:  unset varname

(6)列印變數長度: var="ddddddd"     echo $

(7)雙引號: 雙引號裡可以有變數 ,比如:echo時對變數進行替換,echo  "$"

雙引號裡可以出現轉義字元,比如:echo -e "asdn\nadadss"

(8)單引號: 單引號裡的任何字元都會原樣輸出,單引號字串中的變數是無效的;echo時不做變數替換,echo '$'

例如:echo 'nihao'nihao'ssss'                  輸出為:nihaonihaossss

echo 'nihao"sss"lll'                         輸出為:nihao"sss"lll

echo 'nihao"$"sadad'          輸出為:nihao$sadad

(9)提取子字串:  string="runoob is a great site"       echo $ # 輸出 unoo

Shell基礎及變數3 20

1.shell在linux系統中的位置 使用者請求 shell linux核心 硬體 2.shell命令 1 歷史命令 history raw histfiles 預設儲存1000條,可以在 etc profile中修改 n 列出最近使用的 n條命令,包括 history n c 將所有的histo...

shell基礎及變數

一 shell基礎 1 root www history raw histfiles 選項與引數 n 數字,意思是 要列出最近的n 筆命令列表 的意思!c 將目前的shell 中的所有history 內容全部消除 a 將目前新增的history 命令新增入histfiles中,若沒有加histfil...

shell基礎及變數

shell的兩種主要語法型別有bourne和c,這兩種語法彼此 不相容。命令與檔案補全 tab鍵 一次 補全名稱 tab鍵 兩次 顯示所有相似名稱 命令別名 alias 別名 原命令 刪除別名 unalias 別名 多命令順序執行 命令1 命令2 命令1 命令2 管道符命令1 命令2 tee ech...