shell基本語法的介紹與使用
一、變數
1.變數的命名規則:以字母或底線開頭,後面跟數字,字母或底線,最好不要隨便命名,要做到看見變數名能猜出其意義
2.變數賦值: x=100
echo $x
刪除變數:unset x
##”
[root@bogon ~]# echo ${egon_salary}yuan
20000yuan4.bash中不必宣告資料類型,預設都是字元型二、運算子
1.算術運算子:+ - * / %
1
2.賦值運算子:=,+=,-=,*=,/=,%=
[root@bogon ~]# x=10
[root@bogon ~]# ((x+=1))[root@bogon ~]# echo $x
113.關係運算子:<,>, !=,==,>=,<=,||,&&關係運算子常與(( ))連用,[]可以達到同樣的結果,但(( ))不能判斷一個檔案的類型,判斷檔案類型必須用到[],[]又和test指令效果一樣用$?查看指令執行結果,結果為0代表真,非0代表假[root@bogon ~]# x=10
[root@bogon ~]# ((x>=8))[root@bogon ~]# echo $?
0
##4.shell裡的計算器
之前說過用$[]可以進行一些簡單的運算,但是如果涉及到小數的運算,就需要用到shell裡面的計算器了
首先要安裝軟體,yum install -y bc
[root@bogon ~]# res=$(echo 'scale=2;1/3' |bc -l |cut -d '.' -f2)
[root@bogon ~]# echo ${res}%33%
5.test 指令測試
test
-n str 字串長度不為零
-z str 字串長度為零
# -b 檔案存在且為塊
# -b 檔案存在且為區塊
# -b 檔案存在且為區塊
# 目錄檔案
-e 檔案存在
-f 檔案存在且為普通檔案
-h 檔案存在且為連結檔案
-h 檔案存在且為連結檔案
# -s 文件存在且大於零位元組
file1 -nt file2 file1創建時間比file2早
int1 -le int2 int1小於等於int2
int1 - 小於等於int2
》 字串之間比較
str1 = str2 str1和str2相等 str1 ! =str2 str1與str2不相等
表達式之間的比較 expression1 -a expression2 表達式1與表達式2都為真
數字比較測試:
[root@bogon ~]# [[ 2 > 1 ]][root@bogon ~]# echo $?0 [root@bogon ~]# ((20>10))[root@bogon ~]# echo $?0 [root@bogon ~]# ((20<10))[root@bogon ~]# echo $?1
[root@bogon ~]# [ "abc" = "abc" ][root@bogon ~]# echo $?0 [root@bogon ~]# [[ "abc" = "abc" ]][root@bogon ~]# echo $?0 [root@bogon ~]# (("abc" = "abc"))[root@bogon ~]# echo $?1
字串測試
[root@bogon ~]# [[ a = a && 1 < 2 ]][root@bogon ~]# echo $?0 [root@bogon ~]# [[ a = a && 1 < 2 ]][root@bogon ~]# echo $?0
[root@bogon ~]# (( a = a || 1 > 2 ))[root@bogon ~]# echo $?1[root@bogon ~]# [[ a = a || 1 > 2 ]][root@bogon ~]# echo $?0
input your name : zhangcan input password : 123login successful [root@bogon ~]# ./usertest.sh input your name : hha input password : hag user or password error
三、流程控制
1.if 分公司
#! /bin/bashuser='zhangcan'password='123'read -p 'input your name : ' name read -p 'input password : ' codeif [ $name = $user -a $code = $password ];then echo 'login successful'elseecho 'user or password error'fi~
#!/bin/bash #根据用户输入的成绩,判断所属档次,并输出给用户read -p 'input your score : ' scoreif [ $score -ge 90 ];then echo '优秀'elif [ $score -ge 70 -a $score -lt 90 ];then echo '良好'elif [ $score -ge 60 -a $score -lt 70 ];then echo '及格'elif [ $score -lt 60 ];then echo '较差'fi
#!/bin/bashwhile : do read -p 'input your file : ' fileif [ -z $file ];thencontinueelsebreakfi doneif [ -f $file ];then echo "$file is regular file"elif [ -b $file ];then echo "$file is block file"elif [ -d $file ];then echo "$file is directory file"elseecho "$file type unkonw"fi
#!/bin/bashfor i in {1..50} do ping -c1 192.168.16.$i &> /dev/null # -c1表示ping一次if [ $? -ne 0 ];then echo "192.168.16.$i successful"echo "192.168.16.$i" >> ~/ipavailable.txt fi done~
#!/bin/bashdir='/dev'for i in $(ls $dir) doif [ -h $dir/$i ];then ((link+=1))elif [ -f $dir/$i ];then (( rfile+=1))elif [ -d $dir/$i ];then ((directory+=1))elif [ -b $dir/$i ];then (( block+=1 ))else(( typeunknow+=1)) fi done echo 'block' $block echo 'regular file' $rfile echo 'directory' $directory echo 'link' $link echo 'unknow' $typeunknow
#!/bin/bashfor ((i=1;i<=9;i++)) dofor ((j=1;j<=i;j++)) do echo -n "$i*$j=$[$i*$j]"done echo done
#!/bin/bashuser='zhangcan'password='123'tag=truewhile $tag do read -p 'input your name : ' name read -p 'input your password : ' codeif [[ $name = $user ]] && [[ $code = $password ]];then echo 'login successful'while $tag do read -p '>>: ' cmdif [[ $cmd = 'quit' ]];then tag=falseelse$cmd fi done fi done
以上是shell基本語法的介紹與使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

<p>自訂您的作業系統是讓您的日常生活更加愉快的絕佳方式。您可以變更使用者介面、套用自訂主題、新增小工具等等。因此,我們今天將向您展示如何在Windows11上安裝ClassicShell。 </p><p>程式已經存在了很長時間,並允許您修改作業系統。志工現在已經開始運作該組織,該組織於2017年解散。新專案名為OpenShell,目前在Github上可供有興趣的人使用。 </p>&a

您在執行腳本時是否看到此錯誤訊息「Add-AppxPackage:部署失敗,HRESULT:0x80073D02,無法安裝該包,因為它修改的資源目前正在使用中。PowerShell中出現錯誤0x80073D02…」?如錯誤訊息所述,當使用者在前一個進程執行時嘗試重新註冊一個或所有WindowsShellExperienceHost應用程式時,確實會發生這種情況。我們已經獲得了一些簡單的解決方案來快速解決這個問題。修復1–終止體驗主機程序您必須在執行powershell指令之前結束

無法在Windows 11上運行的 Open shell 並不是一個新問題,而且自從這個新作業系統問世以來一直困擾著使用者。 Open-Shell Windows 11 不工作問題的原因並不具體。它可能是由程式中的意外錯誤、病毒或惡意軟體的存在或損壞的系統檔案引起的。對於不知道的人,Open-Shell 是 2017 年停產的 Classic Shell 的替代品。您可以查看我們的教學課程,以了解如何在 Windows 11 上安裝 Classic Shell。如何替換 Windows 11 的開始菜
![探險家.exe 在系統啟動時不啟動 [修復]](https://img.php.cn/upload/article/000/887/227/168575230155539.png?x-oss-process=image/resize,m_fill,h_207,w_330)
如今,許多Windows用戶開始遇到嚴重的Windows系統問題。問題是系統載入後Explorer.exe無法啟動,使用者無法開啟檔案或資料夾。雖然,Windows使用者在某些情況下可以使用命令提示字元手動開啟Windows資源管理器,並且每次系統重新啟動或系統啟動後都必須這樣做。這可能是有問題的,並且是由於下面提到的以下因素造成的。損壞的系統檔案。啟用快速啟動設定。過時或有問題的顯示驅動程式。對系統中的某些服務進行了更改。修改後的註冊表文件。請記住以上所有因素,我們提出了一些肯定會對用戶有所幫助

提到API開發,你可能會想到DjangoRESTFramework,Flask,FastAPI,沒錯,它們完全可以用來寫API,不過,今天分享的這個框架可以讓你更快把現有的函數轉化為API,它就是Sanic 。 Sanic簡介Sanic[1],是Python3.7+Web伺服器和Web框架,旨在提高效能。它允許使用Python3.5中添加的async/await語法,這可以有效避免阻塞從而達到提升響應速度的目的。 Sanic致力於提供一種簡單且快速,集創建和啟動於一體的方法

Linux系統下在處理檔案時,有時候需要刪除檔案末端的行。這種操作在實際應用中很常見,可以透過一些簡單的命令來實現。本文將介紹在Linux系統中快速刪除檔案結尾行的操作步驟,同時提供具體的程式碼範例。步驟一:檢視文件末尾行在進行刪除操作之前,首先需要確認文件的末尾行是哪一行。可以使用tail指令來查看文件的結尾行,具體指令如下:tail-n1filena

適用於 Linux 的 Windows 子系統第一種選擇是使用適用於 Linux 或 WSL 的 Windows 子系統,這是一個相容層,用於在 Windows 系統上本機執行 Linux 二進位執行檔。它適用於大多數場景,允許您在 Windows 11/10 中執行 shell 腳本。 WSL 不會自動可用,因此您必須透過 Windows 裝置的開發人員設定來啟用它。您可以透過前往設定 > 更新和安全性 > 對於開發人員來完成。切換到開發人員模式並透過選擇是確認提示。接下來,找 W

Python 腳本部分範例:企業微信警告、FTP 用戶端、SSH 用戶端、Saltstack 用戶端、vCenter 用戶端、取得網域名稱ssl 憑證過期時間、傳送今天的天氣預報以及未來的天氣趨勢圖;Shell 腳本部分實例:SVN完整備份、Zabbix 監控使用者密碼過期、建置本地YUM 以及上篇文章中有讀者的需求(負載高時,查出佔用比較高的進程腳本並儲存或推播通知);篇幅有些長,也請大家耐心翻到文末,畢竟有彩蛋。 Python 腳本部分企業微信警告此腳本透過企業微信應用,進行微信告警,可用於
