shell python比較_shell中的條件判斷以及與python中的對比

shell中比如比較字符串、判斷文件是否存在及是否可讀等,通常用"[]"來表示條件測試。

注意:這里的空格很重要。要確保方括號的空格。

if ....; then???????????????????python中的條件判斷:???if ....:???(此處是冒號,不同于shell的分號)

.... ? ? ? ? ? ? ? ? ? ? ? ?(由于強制縮進,所以不需要 fi) ?....??(python時注意必須縮進四個字符)

elif ....; then?????????????????????????????????????????????????elif ....:

....??????????????????????????????????????????????????????????????????? ....

else???????????????????????????????????????????????????????????? else:

....???????????????????????????????????????????????????????????????????? ....

fi

均可包含多個elif

-------------------------------------------------------------------------------------------------

[ -f "somefile" ] :判斷是否是一個文件

[ -x "/bin/ls" ] :判斷/bin/ls是否存在并有可執行權限

[ -n "$var" ] :判斷$var變量是否有值

[ "$a" = "$b" ] :判斷$a和$b是否相等

-r file     用戶可讀為真

-w file     用戶可寫為真

-x file     用戶可執行為真

-f file     文件為正規文件為真

-d file     文件為目錄為真

-c file     文件為字符特殊文件為真

-b file     文件為塊特殊文件為真

-s file     文件大小非0時為真

-t file     當文件描述符(默認為1)指定的設備為終端時為真

含條件選擇的shell腳本 對于不含變量的任務簡單shell腳本一般能勝任。但在執行一些決策任務時,就需要包含if/then的條件判斷了。shell腳本編程支持此類運算,包括比較運算、判斷文件是否存在等。

基本的if條件命令選項有:

- eq —比較兩個參數是否相等(例如,if [ 2 –eq 5 ])

-ne —比較兩個參數是否不相等

-lt —參數1是否小于參數2

-le —參數1是否小于等于參數2

-gt —參數1是否大于參數2

-ge —參數1是否大于等于參數2

-f — 檢查某文件是否存在(例如,if [ -f "filename" ])

-d — 檢查目錄是否存在

幾乎所有的判斷都可以用這些比較運算符實現。腳本中常用-f命令選項在執行某一文件之前檢查它是否存在。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/394509.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/394509.shtml
英文地址,請注明出處:http://en.pswp.cn/news/394509.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

服務器麒麟系統能設置mtu嗎,麒麟操作系統安裝標準手冊-20210405220006.docx-原創力文檔...

精品文檔精品文檔PAGEPAGE47精品文檔PAGE.銀河麒麟V3操作系統安裝手冊V1.2編制:王帥校核:朱本亮審定:周俊...文檔更新日志:序號修訂時間修訂內容修改人審定人012017-04-12發布文檔V1.0王帥周俊022017-05-11增加啟動安裝時藍屏錯誤…

多個 gradle 文件夾 \.gradle\wrapper\dists\ 設置gradle不是每次都下載

韓夢飛沙 韓亞飛 313134555qq.com yue31313 han_meng_fei_sha 設置gradle不是每次都下載 \.gradle\wrapper\dists\ 在你導入項目的時候,有個選項的: 你要是選了Use default gradle mapper就會下載一次,Use local gradle distribution就會…

docker使用方式

docker使用方式安裝:1.安裝依賴 yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 2添加yum源 yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo 3.安裝 yum install docker-ce docker-ce-cli contain…

使用AxiosJavaScript中的簡單HTTP請求

Interested in learning JavaScript? Get my ebook at jshandbook.com有興趣學習JavaScript嗎? 在jshandbook.com上獲取我的電子書 介紹 (Introduction) Axios is a very popular JavaScript library you can use to perform HTTP requests. It works in both Brow…

Linux中通過命令直接刪除文件中最后一行

何謂Sed(Stream EDitor):Sed原為UNIX系統上的非交談式文字編輯器(non-interactive stream editor)。當Sed讀入待編輯文件,會依編輯命令來進行文件的編輯工作。sed -i $d file如同其它UNIX的指令一般,Sed亦是由標準輸入(standard input)讀入欲編輯的文件&…

vb獲取數組長度_如何實現數組的二分查找

二分查找是一種極其高效、簡練的查找算法,它不僅簡單,易用,而且還非常的高效。相對于順序查找,二分查找在效率是呈現指數性提升,數據量越大,越能體現出二分查找法的優勢。二分查找的查找過程是:…

400錯誤返回了服務器信息,使用Spring MVC,接受JSON錯誤的POST請求會導致返回默認的400錯誤代碼服務器頁面...

我正在使用RESTAPI。接收到帶有錯誤JSON的POST消息(例如{sdfasdfasdf})會使Spring返回默認服務器頁面,以顯示400錯誤請求錯誤。我不想返回頁面,我想返回自定義JSON錯誤對象。當使用ExceptionHandler引發異常時,可以執行此操作。因此&#xff…

【Python】list和tuple 區別比較

列表 List classmates [Michael, Bob, Tracy] 元組 Tuple tuple一旦初始化就不能修改,比如同樣是列出同學的名字: >>> classmates (Michael, Bob, Tracy) 現在,classmates這個tuple不能變了,它也沒有append()&#xff…

leetcode315. 計算右側小于當前元素的個數(樹狀數組解法)

leetcode315. 計算右側小于當前元素的個數(樹狀數組解法) 題目:給定一個整數數組 nums,按要求返回一個新數組 counts。數組 counts 有該性質: counts[i] 的值是 nums[i] 右側小于 nums[i] 的元素的數量。 樹狀數組解法 java class Solution …

洛谷 P1101 單詞方陣

給一nn的字母方陣,內可能蘊含多個“yizhong”單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 8個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用*代…

從頭學習計算機網絡_如何從頭開始構建三層神經網絡

從頭學習計算機網絡by Daphne Cornelisse達芙妮康妮莉絲(Daphne Cornelisse) 如何從頭開始構建三層神經網絡 (How to build a three-layer neural network from scratch) In this post, I will go through the steps required for building a three layer neural network. I’…

python 文件處理

f open(chenli.txt) #打開文件 first_line f.readline() print(first line:,first_line) #讀一行 print(我是分隔線.center(50,-)) data f.read() # 讀取剩下的所有內容,文件大時不要用 print(data) #打印讀取內容f.close() #關閉文件1…

第五章 MVC之Bundle詳解

一、簡述 Bundle,英文原意就是捆、收集、歸攏。在MVC中的Bundle技術,也就是一個對css和js文件的捆綁壓縮的技術。 它的用處: 將多個請求捆綁為一個請求,減少服務器請求數 壓縮javascript,css等資源文件,減小…

所給服務器端程序改寫為能夠同時響應多個客戶端連接請求的服務器程序_一文讀懂客戶端請求是如何到達服務器的...

點擊上方“藍色字體”,選擇 “設為星標”關鍵訊息,D1時間送達!互聯網是人類歷史上最偉大的發明創造之一,而構成互聯網架構的核心在于TCP/IP協議。那么TCP/IP是如何工作的呢,我們先從數據包開始講起。1、數據包一、HTTP…

消息服務器 推送技術,SSE服務器推送技術

SSE即 server send event 服務器發送事件,在在早期可能會使用ajax向服務器輪詢的方式,使瀏覽器第一時間接受到服務器的消息,但這種頻率不好控制,消耗也比較大。但是對于SSE來說,當客戶端向服務端發送請求,服…

Contest2162 - 2019-3-28 高一noip基礎知識點 測試5 題解版

傳送門 T1 單調棧 按照b排序 在家每一個物品時,判斷一下a和b的關系 如果s[sta[top]].a>s[i].b,就彈棧 記錄所有時候的height,并取最大值 T2 單調棧裸題 單調棧是干什么的?? 單調棧是記錄一個數的一側的第一個比他大…

在package.json里面的script設置環境變量,區分開發及生產環境。注意mac與windows的設置方式不一樣...

在package.json里面的script設置環境變量,區分開發及生產環境。 注意mac與windows的設置方式不一樣。 "scripts": {"publish-mac": "export NODE_ENVprod&&webpack -p --progress --colors","publish-win": "…

leetcode 978. 最長湍流子數組(動態規劃)

978. 最長湍流子數組 當 A 的子數組 A[i], A[i1], …, A[j] 滿足下列條件時&#xff0c;我們稱其為湍流子數組&#xff1a; 若 i < k < j&#xff0c;當 k 為奇數時&#xff0c; A[k] > A[k1]&#xff0c;且當 k 為偶數時&#xff0c;A[k] < A[k1]&#xff1b; 或 …

人工智能取代工作_人工智能正在取代人們的工作-開發人員是下一個嗎?

人工智能取代工作I was recently asked to comment on whether there was any point in becoming a developer right now, because AI might be doing your job very soon.最近有人要求我評論一下現在成為開發人員是否有任何意義&#xff0c;因為AI可能很快就會完成您的工作。 …

python類self_Python類中的self到底是干啥的

Python編寫類的時候&#xff0c;每個函數參數第一個參數都是self&#xff0c;一開始我不管它到底是干嘛的&#xff0c;只知道必須要寫上。后來對Python漸漸熟悉了一點&#xff0c;再回頭看self的概念&#xff0c;似乎有點弄明白了。首先明確的是self只有在類的方法中才會有&…