最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

shell腳本語(yǔ)言的使用(超全超詳細(xì))

 更新時(shí)間:2020年04月23日 08:56:05   作者:天 祿  
這篇文章主要介紹了shell腳本語(yǔ)言的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1、shell的概述

shell 是一種腳本語(yǔ)言
腳本:本質(zhì)是一個(gè)文件,文件里面存放的是 特定格式的指令,系統(tǒng)可以使用腳本解析器 翻譯或解析 指令 并執(zhí)行(它不需要編譯)
shell 既是應(yīng)用程序 又是一種腳本語(yǔ)言(應(yīng)用程序 解析 腳本語(yǔ)言)
shell命令解析器:
系統(tǒng)提供 shell命令解析器: sh ash bash
查看自己linux系統(tǒng)的默認(rèn)解析:echo $SHELL




shell腳本是一種腳本語(yǔ)言,我們只需使用任意文本編輯器,按照語(yǔ)法編寫(xiě)相應(yīng)程序,增加可執(zhí)行權(quán)限,即可在安裝shell命令解釋器的環(huán)境下執(zhí)行

2、腳本的調(diào)用形式

打開(kāi)終端時(shí)系統(tǒng)自動(dòng)調(diào)用:/etc/profile 或 ~/.bashrc

/etc/profile
此文件為系統(tǒng)的每個(gè)用戶設(shè)置環(huán)境信息,當(dāng)用戶第一次登錄時(shí),該文件被執(zhí)行,系統(tǒng)的公共環(huán)境變量在這里設(shè)置
開(kāi)始自啟動(dòng)的程序,一般也在這里設(shè)置
~/.bashrc
用戶自己的家目錄中的.bashrc
登錄時(shí)會(huì)自動(dòng)調(diào)用,打開(kāi)任意終端時(shí)也會(huì)自動(dòng)調(diào)用
這個(gè)文件一般設(shè)置與個(gè)人用戶有關(guān)的環(huán)境變量,如交叉編譯器的路徑等等
用戶手動(dòng)調(diào)用:用戶實(shí)現(xiàn)的腳本

3、shell語(yǔ)法初識(shí)

3.1、定義以開(kāi)頭:#!/bin/bash

#!用來(lái)聲明腳本由什么shell解釋?zhuān)駝t使用默認(rèn)shell

3.2、單個(gè)"#"號(hào)代表注釋當(dāng)前行第一步:編寫(xiě)腳本文件

第二步:加上可執(zhí)行權(quán)限

chmod +x xxxx.sh

第三步:運(yùn)行

三種執(zhí)行方式 (./xxx.sh bash xxx.sh . xxx.sh)

三種執(zhí)行方式的不同點(diǎn)(./xxx.sh bash xxx.sh . xxx.sh)

./xxx.sh :先按照 文件中#!指定的解析器解析

如果#!指定指定的解析器不存在 才會(huì)使用系統(tǒng)默認(rèn)的解析器

bash xxx.sh:指明先用bash解析器解析

如果bash不存在 才會(huì)使用默認(rèn)解析器

. xxx.sh 直接使用默認(rèn)解析器解析

三種執(zhí)行情況:(重要)

注意:windows下 寫(xiě)腳本 在linux下執(zhí)行 注意


執(zhí)行結(jié)果:


將windows文件 轉(zhuǎn)換成 unix文件
方法一:dos2unix 如果沒(méi)有該插件 需要安裝
sudo apt-get install dos2unix
dos2unix shell腳本
轉(zhuǎn)換成功就可以執(zhí)行運(yùn)行
方法二:
需要用vi打開(kāi)腳本,在最后一行模式下執(zhí)行
:set ff=unix

4、變量

定義變量
變量名=變量值
如:num=10
引用變量
$變量名
unset :清除變量值


運(yùn)行結(jié)果:


從鍵盤(pán)獲取值read


運(yùn)行結(jié)果:

案例:

在一行上顯示和添加提示 需要加上-p


運(yùn)行結(jié)果:

案例:讀取多個(gè)值


運(yùn)行結(jié)果:

案例只讀變量:


運(yùn)行結(jié)果:

查看環(huán)境變量:env



導(dǎo)出環(huán)境變量(其他shell識(shí)別該變量)

source 腳本文件
source命令用法:
source FileName
作用:在當(dāng)前bash環(huán)境下讀取并執(zhí)行FileName中的命令。
注:該命令通常用命令“.”來(lái)替代。
如:source .bash_rc 與 . .bash_rc 是等效的。
注意:source命令與shell scripts的區(qū)別是,
source在當(dāng)前bash環(huán)境下執(zhí)行命令,而scripts是啟動(dòng)一個(gè)子shell來(lái)執(zhí)行命令。這樣如果把設(shè)置環(huán)境變量(或alias等等)的命令寫(xiě)進(jìn)scripts中,就只會(huì)影響子shell,無(wú)法改變當(dāng)前的BASH,所以通過(guò)文件(命令列)設(shè)置環(huán)境變量時(shí),要用source 命令。



可以在終端中讀?。?br />


在其他sh腳本讀取:


運(yùn)行結(jié)果:

注意事項(xiàng):

1、變量名只能包含英文字母下劃線,不能以數(shù)字開(kāi)頭
1_num=10 錯(cuò)誤
num_1=20 正確
2、等號(hào)兩邊不能直接接空格符,若變量中本身就包含了空格,則整個(gè)字符串都要用雙引號(hào)、或單引號(hào)括起來(lái)
3、雙引號(hào) 單引號(hào)的區(qū)別
雙引號(hào):可以解析變量的值
單引號(hào):不能解析變量的值


運(yùn)行結(jié)果:


如果想在PATH變量中 追加一個(gè)路徑寫(xiě)法如下:(重要?。。。。?/p>

export PATH=$PATH:/需要添加的路徑

5、預(yù)設(shè)變量

shell直接提供無(wú)需定義的變量

案例:


運(yùn)行結(jié)果:

腳本標(biāo)量的特殊用法




加-e轉(zhuǎn)義 才起換行作用


()由子shell 完成


{}由當(dāng)前的shell執(zhí)行

6、變量的擴(kuò)展

6.1、判斷變量是否存在


6.2、字符串的操作

7、條件測(cè)試

test命令:用于測(cè)試字符串、文件狀態(tài)和數(shù)字
test命令有兩種格式:
test condition 或[ condition ]
使用方括號(hào)時(shí),要注意在條件兩邊加上空格。

7.1、文件測(cè)試


7.2、字符串測(cè)試



7.3、數(shù)值測(cè)試



7.4、符合語(yǔ)句測(cè)試


8、控制語(yǔ)句

8.1、if控制語(yǔ)句

格式一:
if [條件1]; then
  執(zhí)行第一段程序
else
  執(zhí)行第二段程序
fi
格式二:
if [條件1]; then
  執(zhí)行第一段程序
elif [條件2];then
執(zhí)行第二段程序
else
  執(zhí)行第三段程序
fi

案例:

案例:判斷當(dāng)前路徑下有沒(méi)有文件夾 有就進(jìn)入創(chuàng)建文件 沒(méi)有 就創(chuàng)建文件夾 再進(jìn)入創(chuàng)建文件


運(yùn)行結(jié)果:

案例:


運(yùn)行結(jié)果:

8.2、case


8.3、for循環(huán)語(yǔ)句



案例:

案例:掃描當(dāng)前文件

8.4、while


8.5、until


8.6、break continue

9、函數(shù)


所有函數(shù)在使用前必須定義,必須將函數(shù)放在腳本開(kāi)始部分,直至shell解釋器首次發(fā)現(xiàn)它時(shí),才可以使用

案例:求最值

案例:函數(shù)分文件


fun.sh


24_sh.sh

到此這篇關(guān)于shell腳本語(yǔ)言的使用(超全超詳細(xì))的文章就介紹到這了,更多相關(guān)shell腳本語(yǔ)言內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Git 創(chuàng)建分支提交遠(yuǎn)程分支詳解

    Git 創(chuàng)建分支提交遠(yuǎn)程分支詳解

    這篇文章主要介紹了Git 創(chuàng)建分支提交遠(yuǎn)程分支詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Linux nc命令使用示例

    Linux nc命令使用示例

    nc是netcat的簡(jiǎn)寫(xiě),是一個(gè)功能強(qiáng)大的網(wǎng)絡(luò)工具,有著網(wǎng)絡(luò)界的瑞士軍刀美譽(yù),nc命令在linux系統(tǒng)中實(shí)際命令是ncat,nc是軟連接到ncat,這篇文章主要介紹了Linux nc命令使用示例,需要的朋友可以參考下
    2023-03-03
  • Linux更新Python版本及修改python默認(rèn)版本的方法

    Linux更新Python版本及修改python默認(rèn)版本的方法

    很多情況下拿到的服務(wù)器python版本很低,需要自己動(dòng)手更改默認(rèn)python版本,但是有好多朋友都被這個(gè)問(wèn)題難倒了,接下來(lái),通過(guò)本篇文章給大家介紹linux更新Python版本及修改默認(rèn)版本的方法,感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • shell 1>&2 2>&1 &>filename重定向的含義和區(qū)別

    shell 1>&2 2>&1 &>filename重定向的含義和區(qū)別

    這篇文章主要介紹了shell 1>&2 2>&1 &>filename重定向的含義和區(qū)別,需要的朋友可以參考下
    2015-04-04
  • shell腳本實(shí)現(xiàn)linux系統(tǒng)文件完整性檢測(cè)

    shell腳本實(shí)現(xiàn)linux系統(tǒng)文件完整性檢測(cè)

    這篇文章主要介紹了shell腳本實(shí)現(xiàn)linux系統(tǒng)文件完整性檢測(cè),本文給出的腳本使用對(duì)比MD5的方法,檢測(cè)linux系統(tǒng)文件是否被替換等問(wèn)題,需要的朋友可以參考下
    2014-12-12
  • Linux用戶在第一次登錄時(shí)強(qiáng)制更改初始密碼

    Linux用戶在第一次登錄時(shí)強(qiáng)制更改初始密碼

    在多用戶Linux環(huán)境下,創(chuàng)建使用某個(gè)隨機(jī)默認(rèn)密碼的用戶帳戶是標(biāo)準(zhǔn)做法。之后在成功登錄后,新用戶可以將默認(rèn)密碼更改成自己的密碼。出于安全方面的原因,常常建議“迫使”用戶在第一次登錄后更改默認(rèn)密碼,以確保最初的一次性密碼不再使用,需要的朋友可以參考下
    2015-10-10
  • 用shell腳本自己一個(gè)秒級(jí)定時(shí)任務(wù)

    用shell腳本自己一個(gè)秒級(jí)定時(shí)任務(wù)

    這篇文章主要為大家詳細(xì)介紹了如何使用Shell腳本實(shí)現(xiàn)一個(gè)定時(shí)任務(wù)管理工具,可以每秒執(zhí)行一次,并保證任務(wù)異步、非阻塞執(zhí)行,需要的可以參考下
    2024-12-12
  • shell腳本去重的三種方法小結(jié)

    shell腳本去重的三種方法小結(jié)

    在實(shí)際工作中,進(jìn)行Shell去重操作是非常常見(jiàn)的任務(wù)之一,本文主要介紹了shell腳本去重的三種方法小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • Shell中select in的具體使用

    Shell中select in的具體使用

    本文主要介紹了Shell中select in的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • except自動(dòng)登錄的幾段代碼分享

    except自動(dòng)登錄的幾段代碼分享

    except自動(dòng)登錄的幾段代碼,大家拿去學(xué)習(xí)吧
    2013-02-02

最新評(píng)論

屯留县| 江孜县| 凯里市| 河津市| 巴中市| 曲水县| 大同市| 林芝县| 广灵县| 乐东| 黄浦区| 逊克县| 内黄县| 綦江县| 开远市| 都江堰市| 大足县| 邵阳市| 芦溪县| 宜兴市| 东乡族自治县| 石景山区| 房产| 毕节市| 东兴市| 堆龙德庆县| 丰台区| 云林县| 上虞市| 四平市| 蓬溪县| 若羌县| 图木舒克市| 辽源市| 盘锦市| 宝应县| 桑植县| 镇宁| 乌鲁木齐县| 东海县| 大庆市|