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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux 用shell脚本文件,Linux必须掌握的shell脚本基础

發(fā)布時(shí)間:2023/12/14 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 用shell脚本文件,Linux必须掌握的shell脚本基础 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. shell 基本語(yǔ)法

shell:

shell 是一個(gè)命令解釋器,它在操作系統(tǒng)的最外層,負(fù)責(zé)直接與用戶進(jìn)行對(duì)話,把用戶的輸入解釋給操作系統(tǒng),并處理各種各樣的操作系統(tǒng)的輸出結(jié)果,輸出到屏幕反饋給用戶。

什么是 shell 腳本:

把 Linux 命令或語(yǔ)句放在一個(gè)文件中,通過(guò)這個(gè)程序文件去執(zhí)行,這個(gè)程序?yàn)?shell 腳本或 shell 程序;可以在腳本中輸入系統(tǒng)的命令以及相關(guān)的語(yǔ)法語(yǔ)句組合,比如變量,流程控制語(yǔ)句等,把他們有機(jī)結(jié)合起來(lái)就形成了一個(gè)功能強(qiáng)大的 shell 腳本。

創(chuàng)建 shell 程序的步驟:

(1)創(chuàng)建一個(gè)包含命令和控制結(jié)構(gòu)的文件,vim first.sh

(2)修改這個(gè)文件的權(quán)限使它可以執(zhí)行,chmod +x first.sh

(3)檢測(cè)語(yǔ)法錯(cuò)誤;

(4)執(zhí)行腳本。

執(zhí)行 shell 腳本的方式:

(1)通過(guò)絕對(duì)路徑執(zhí)行,/root/first.sh(需要添加可執(zhí)行權(quán)限x)

(2)bash first.sh 或 sh first.sh(可以不添加可執(zhí)行權(quán)限)

(3)source first.sh(可以不添加可執(zhí)行權(quán)限,在當(dāng)前 shell 執(zhí)行)

(4)sh < cal.sh,cat cal.sh |sh,cat cal.sh |bash(可以不添加可執(zhí)行權(quán)限)

初識(shí) shell 腳本:

#!/bin/bash

# it is a shell!

echo "hello world!"

# 第一行:命令解釋器類型

# 第二行:注釋信息

2. shell 變量及運(yùn)用

變量設(shè)置規(guī)則:

(1)變量名稱通常是大寫(xiě)字母,可以由數(shù)字、字母(大小寫(xiě))和下劃線組成。變量名區(qū)分大小寫(xiě),不能以數(shù)字開(kāi)頭;

(2)a=10,= 的作用是賦值,= 兩邊不能有空格;

(3)變量存儲(chǔ)的數(shù)據(jù)類型是整數(shù)型和字符串型;

(4)字符串型建議加引號(hào)。如果字符串中有空格,要用單引號(hào)‘’或雙引號(hào)“”包含起來(lái);

(5)變量調(diào)用時(shí),在變量前加 $,$a;

(6)如果需要增加變量的值,可以進(jìn)行變量值的疊加。變量需要用雙引號(hào)包含“$變量名”或用${變量名}包含。

變量的分類:

按照變量的作用劃分:

(1)用戶自定義變量(字母或下劃線開(kāi)頭,不能以數(shù)字開(kāi)頭)

(2)環(huán)境變量:保存和系統(tǒng)操作環(huán)境相關(guān)的數(shù)據(jù)

(3)位置參數(shù)變量:

向腳本中傳遞參數(shù)或數(shù)據(jù)的,變量名不能自定義,變量的作用是固定的

(4)預(yù)定義變量:是 bash 中已經(jīng)定義好的變量,變量名不能自定義,變量的作用是固定的

按照變量的作用域劃分:

(1)全局變量:環(huán)境變量,值不隨 shell 腳本的執(zhí)行結(jié)束而消失,值傳遞給子 shell 而不傳遞給父 shell

env 命令查看所有全局變量:

export 聲明全局變量:

添加環(huán)境變量:

(2)局部變量:是 shell 程序內(nèi)部定義的,其使用范圍僅限于定義它的程序,對(duì)其它程序不可見(jiàn)。包括用戶自定義變量、位置變量和預(yù)定義變量

命令的替換:

使用 $() 或反引號(hào)。echo $(pwd) 或 echo `pwd`

命令的嵌套使用:

使用 $($())

單引號(hào)和雙引號(hào):

在單引號(hào)中,所有的字符(包括特殊字符)都將解釋成字符本身成為普通字符;

在雙引號(hào)中,除了 $、'' 和 \ 以外所有的字符都解釋成字符本身。

刪除變量:

unset 變量名:刪除變量

定義變量的配置文件:

/etc/profile:系統(tǒng)全局環(huán)境和登陸系統(tǒng)的一些配置

/etc/bashrc:shell 全局自定義配置文件,用于自定義 shell

/root/.bashrc:用于自定義某個(gè)用戶的bash

/root/.bash_profile:用戶單獨(dú)自定義某個(gè)用戶的系統(tǒng)環(huán)境

插入永久變量:(1)vim /etc/profile;(2)在最后一行寫(xiě)入 export var8=100,保存并退出;(3)source /etc/profile

位置變量:

特殊變量:

$*

以一個(gè)單字符串顯示所有向腳本傳遞的參數(shù)

$#

傳遞到腳本的參數(shù)的個(gè)數(shù)

$$

當(dāng)前進(jìn)程的進(jìn)程號(hào) PID

$?

顯示最后命令的退出狀態(tài);0表示沒(méi)有錯(cuò)誤,其他值都表示有錯(cuò)誤

$!

后臺(tái)運(yùn)行的最后一個(gè)進(jìn)程的進(jìn)程號(hào) PID

3. 數(shù)學(xué)運(yùn)算

expr 命令:

(1)對(duì)數(shù)字的基本計(jì)算;做比較時(shí),輸出結(jié)果為假時(shí)為0,1為真;特殊符號(hào)用轉(zhuǎn)義符

(2)對(duì)字符串的處理

$(()):

運(yùn)算符

意義

++? ?--

遞增? ?遞減

+? ?-? ?!~

正? ?負(fù)? ?邏輯與取反

+? ?-? ?*? ?/? ?%

加? ?減? ?乘? ?除? ?余數(shù)

? ?>=

比較大小

==? ?!=

相等? ?不相等

>>? ?<<

向左位移? ?向右位移

&? ?^? ?|

按位的與? ?按位的異或? ?按位的或

&&? ?||

邏輯與? ?邏輯或

?:

條件判斷

計(jì)算從1加到100的值:

總結(jié)

以上是生活随笔為你收集整理的linux 用shell脚本文件,Linux必须掌握的shell脚本基础的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。