日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux之Shell脚本入门

發布時間:2025/3/20 linux 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux之Shell脚本入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Shell概述

Shell是一個命令行解釋器,它接受應用程序/用戶命令,然后調用操作系統內核。

Shell還是一個功能強大的編程語言,易編寫、易調試、靈活性強。

二、Shell腳本入門

1.腳本格式

腳本以#!/bin/bash開頭

2.第一個Shell腳本

(1)需求

創建一個Shell腳本,輸出helloworld

(2)實操

touch helloworld.sh vim helloworld.sh

在helloworld.sh中輸入如下內容:

#!/bin/bash echo 'helloworld'

(3)執行方式

第一種:采用bash或sh+腳本的

sh+腳本的相對路徑(不用賦予腳本+x權限)

sh helloworld.sh

sh+腳本的絕對路徑

sh /home/depo/shell/helloworld.sh

bash+腳本的相對路徑

bash hellworld.sh

bash+腳本的絕對路徑

bash /home/depo/shell/helloworld.sh

第二種:采用輸入腳本的絕對路徑或相對路徑執行腳本(必須具有可執行權限+x)

首先賦予helloworld.sh腳本的+x權限

chmod 777 helloworld.sh

執行腳本

相對路徑: ./helloworld.sh 絕對路徑: /home/depo/shell/helloworld.sh

注意:第一種執行方式,本質是bash解析器幫你執行腳本,所以腳本本身不需要執行權限。第二種執行方法,本質是腳本需要自己執行,所以需要執行權限。

3.第二個Shell腳本:多命令處理

#!/bin/bash ? touch test.txt echo "i love java" >> test.txt

三、Shell中的變量

1.系統變量

(1)常用系統變量

$HOME、$PWD、$SHELL、$USER等

(2)實操

查看系統變量的值

[depo@dev shell]$ echo $HOME /home/depo

2.自定義變量

(1)基本變量

定義變量: 變量=值

撤銷變量: unset 變量

聲明靜態變量: readonly 變量 注意:不能unset

(2)變量定義規則

  • 變量名稱可以由字母、數字和下劃線組成,但是不能以數字開頭,環境變量名建議大寫

  • 等號兩側不能由空格

  • 在bash中,變量默認類型都是字符串類型,無法直接進行數值運算

  • 變量的值如果有空格,需要使用雙引號或單引號括起來

(3)實操

1.定義變量A

A=5 echo $A

2.給變量A重新賦值

A=8 echo $A

3.撤銷變量A

unset A echo $A

4.聲明靜態的變量B=2,不能unset

[depo@dev shell]$ readonly B=2 [depo@dev shell]$ echo $B 2 [depo@dev shell]$ unset B -bash: unset: B: 無法反設定: 只讀 variable [depo@dev shell]$

5.在bash中,變量默認是字符串類型

[depo@dev shell]$ C=1+2 [depo@dev shell]$ echo C C [depo@dev shell]$

6.可把變量提升為全局環境變量,供其他Shell程序使用

將變量C提升為全局變量:

export C

修改helloworld.sh:

#!/bin/bash ? ? echo "helloworld" echo $C

運行:

[depo@dev shell]$ ./helloworld.sh helloworld 1+2

3.特殊變量:$n

(1)基本語法

$n:n為數組,$0代表該腳本名稱,$1-$9代表第一到第九個參數,十以上的參數需要用大括號包含,如果${10}

(2)實操

touch parameter.sh vim parameter.sh #!/bin/bash ? echo "$0 $1 $2 $3" ? ? ?

執行該腳本

[depo@dev shell]$ sh parameter.sh abc yfy nihao parameter.sh abc yfy nihao

4.特殊變量:$

(1)基本語法

$#:獲取所有輸入參數個數,常用于循環

5.特殊變量:$*、$@

(1)基本語法

$*:這個變量代表命令行中所有的參數,把所有的參數看成一個整體

$@:這個變量也代表命令行中所有的參數,不過把每個參數區分對待

(2)實操

打印輸入的所有參數

vim parameter.sh ? #!/bin/bash ? echo "$0 $1 $2 $3" echo $# echo $* echo $@

執行:

[depo@dev shell]$ sh parameter.sh abc yfy nihao parameter.sh abc yfy nihao 3 abc yfy nihao abc yfy nihao

5.特殊變量:$?

(1)基本語法

$?:最后一次執行的命令的返回狀態。如果這個變量的值為0,證明上一個命令正確執行

(2)實操

判斷helloworld.sh腳本是否正確執行

[depo@dev shell]$ ./helloworld.sh helloworld 1+2 [depo@dev shell]$ echo $? 0 [depo@dev shell]$

四、運算符

1.基本語法

(1)$((運算符))或$[運算符]

(2)expr +,-,*,/,%. 加減乘除取余

2.實操

(1)計算3+2的值

[depo@dev shell]$ expr 2 + 3 5

(2)計算(2+3)x4的值

expr一步完成計算

expr `expr 2 + 3` \* 4

采用$[運算式]方式

S=$[ (2+4)*4 ]

?

總結

以上是生活随笔為你收集整理的Linux之Shell脚本入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。