let與expr命令的用法與實戰案例

let命令的用法

格式:

let 賦值表達式

【注】let賦值表達式功能等同于:(賦值表達式)

例子:給自變量i加8

1
2
3
4
5
6
7
8
[root@XCN?~]#?i=2
[root@XCN?~]#?let?i=i+8
[root@XCN?~]#?echo?$i
10
[root@XCN?~]#?i=i+8???#去掉let定義
[root@XCN?~]#?echo?$i
i+8??????#輸出的結果
提示:let?i=i+8等同于((i=i+8)),但后者效率更高


expr命令的用法:

expr命令一般用于整數值,但也可用于字符串,用來表達式變量的值,同時expr也是一個手工命令行計算器。

語法:expr expression

1
2
3
4
5
6
7
8
[root@XCN?~]#?expr?2?+?2
4
[root@XCN?~]#?expr?2?-?2?
0
[root@XCN?~]#?expr?2?*?2?
expr:?syntax?error
[root@XCN?~]#?expr?2?\*?2??#*號用/來轉義
4

提示:?

  1. 注意:運算符左右都有空格

  2. 使用乘號時,必須用反斜線屏蔽其特定含義。因為shell可能會誤解星號的含義


增量計數:

expr在循環中可用于增量計算。首先,循環初始化為0,然后循環值加1,反引號的用法為命令替代,最基本的一種是從(expr)命令接受輸出并將之放入循環變量。

例:給自變量i加1

1
2
3
4
[root@XCN?~]#?i=0
[root@XCN?~]#?i=`expr?$i?+?1`
[root@XCN?~]#?echo?$i
1

expr$[$a+$b]表達式形式,其中$a$b可為整數值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@XCN?~]#?expr?$[2+3]
5
[root@XCN?~]#?expr?$[2*3]?
6
[root@XCN?~]#?expr?$[2**3]
8
[root@XCN?~]#?expr?$[2/3]??
0
[root@XCN?~]#?expr?$[2%3]?
2
[root@XCN?~]#?a=5????????
[root@XCN?~]#?b=6
[root@XCN?~]#?expr?$[$a+$b]
11
#expr將其后的串解釋為表達式并計算其值,運算符前后需有空格

expr 特殊用法:

expr判斷擴展名腳本

1
2
3
4
5
6
7
8
9
10
#!/bin/bash
if?expr?"$1"?:?".*\.pub"?&>/dev/null??#判斷傳遞參數擴展名是否為pub
then
????echo?"you?are?using?$1"
else
????echo?"pls?use?*.pub?file"
fi
???
?#expr?id_dsa.pub:`.*\.pub`,匹配*.pub格式的文件如果是則為真。離:

expr判斷是非整數


#!/bin/bash

1
2
3
4
5
6
7
expr?1?+?$1?&>/dev/null
if?[?$??-eq?0?]
then
??echo?"zhengshu"
else
??echo?"feizhengshu"
fi


本文轉自 baishuchao 51CTO博客,原文鏈接:http://blog.51cto.com/baishuchao/1941056


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

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

相關文章

在使用ToolBar + AppBarLayout,實現上劃隱藏Toolbar功能,遇到了一個坑。

問題:Android5.0以下版本Toolbar不顯示沉浸式狀態欄,沒有這個問題,但是5.0以上版本,就出現了莫名其妙的陰影問題,很是頭疼。 分享一下我的解決方案: 在AppBarLayout中加一個屬性: app:elevation…

leetcode1476. 子矩形查詢

請你實現一個類 SubrectangleQueries ,它的構造函數的參數是一個 rows x cols 的矩形(這里用整數矩陣表示),并支持以下兩種操作: updateSubrectangle(int row1, int col1, int row2, int col2, int newValue) 用 new…

msbuild構建步驟_如何按照以下步驟構建最終的AI聊天機器人

msbuild構建步驟by Paul Pinard保羅皮納德(Paul Pinard) 如何按照以下步驟構建最終的AI聊天機器人 (How to build the ultimate AI chatbot by following these steps) 快速指南,可幫助您避免常見的陷阱 (A quick guide that helps you avoid common pitfalls) Bui…

第一章:最小可行區塊鏈

概覽區塊數據結構區塊哈希創世塊創建區塊保存區塊鏈驗證區塊完整性選擇最長鏈節點間通信操作節點架構運行測試小結概覽 區塊鏈的基礎概念非常簡單, 說白了就是一個維護著一個持續增長的有序數據記錄列表的這么一個分布式數據庫。在此章節中我們將實現一個簡單的玩具版的區塊鏈。…

Oracle Controlfile控制文件中記錄的信息片段sections

初學Oracle的朋友肯定對Controlfile控制文件中到底記錄了何種的信息記錄而感到好奇,實際上我們可以通過一個視圖v$controlfile_record_section來了解控制文件的信息片段: SQL> select type, record_size, records_total from v$controlfile_record_s…

linux 怎么禁止遍歷目錄,linux下遍歷目錄功能實現

/*編譯:dir:dir.cgcc -o $ $<*/#include #include #include #include #include int do_search_dir(char *path);int do_check_dir(char *fullpath, char* truefullpath);void usage(char *apps);int count 0;intmain(int argc,char **argv){char fullpath[…

leetcode面試題 16.26. 計算器(棧)

給定一個包含正整數、加()、減(-)、乘(*)、除(/)的算數表達式(括號除外)&#xff0c;計算其結果。 表達式僅包含非負整數&#xff0c;&#xff0c; - &#xff0c;*&#xff0c;/ 四種運算符和空格 。 整數除法僅保留整數部分。 示例 1: 輸入: “32*2” 輸出: 7 代碼 clas…

團隊項目電梯會議視頻

http://v.youku.com/v_show/id_XMjcyMjI3Mjk2NA.html?spma2hzp.8244740.userfeed.5!2~5~5~5!3~5~A轉載于:https://www.cnblogs.com/jingxiaopu/p/6749776.html

arduino服務器_如何使用Arduino檢查Web服務器的響應狀態

arduino服務器by Harshita Arora通過Harshita Arora 如何使用Arduino檢查Web服務器的響應狀態 (How to use Arduino to check your web server’s response status) Last year, I created Crypto Price Tracker (an app which was acquired by Redwood City Ventures this yea…

leetcode486. 預測贏家(dp)

給定一個表示分數的非負整數數組。 玩家 1 從數組任意一端拿取一個分數&#xff0c;隨后玩家 2 繼續從剩余數組任意一端拿取分數&#xff0c;然后玩家 1 拿&#xff0c;…… 。每次一個玩家只能拿取一個分數&#xff0c;分數被拿取之后不再可取。直到沒有剩余分數可取時游戲結束…

linux怎么看文件狀態,linux查看文件類型-file、狀態-stat

linux查看文件類型-file、狀態-stat首頁 計算機相關 linux命令 linux查看文件類型-file、狀態-statfile 命令可以用來查看文件類型-i mime type-s 讀取字符或塊設備文件最好指定[root192 tmp]# file freeclsfreecls: UTF-8 Unicode text[root192 tmp]# file -i freeclsfreecls:…

Linux課程筆記 Crond介紹

1. 定時任務比較及cron語法 Linux的任務調度可以分為兩類&#xff1a; 系統自身執行的任務用戶執行的工作Linux系統下另外兩種定時任務軟件&#xff1a; at&#xff1a;適合僅執行一次的調度任務&#xff0c;需要啟動一個名為atd的服務 anacron&#xff1a;這個命令主要用于非…

Python 學習日記第二篇 -- 列表,元組

一、列表 列表是一個可以包含所以數據類型的對象的位置有序集合&#xff0c;它是可以改變的。 1、列表的序列操作&#xff08;Python3&#xff09; 123456789101112131415161718192021222324>>> one_list [1,2,3,4]>>> two_list ["jonny","…

【Gamma】PhyLab 測試報告

PhyLab Gamma測試報告 測試中發現的bug Gamma階段新Bug Bug可能原因部分錯誤碼設置與原先拋異常的邏輯沖突原先代碼中使用了一些特殊的辦法處理異常Beta未發現Bug Bug可能原因控制臺新建實驗編號不能以0開頭后端處理編號會將其前導0去除&#xff0c;以數字形式存儲&#xff0c;…

如何使用Node.js,Express和MongoDB設置GraphQL服務器

by Leonardo Maldonado萊昂納多馬爾多納多(Leonardo Maldonado) 如何使用Node.js&#xff0c;Express和MongoDB設置GraphQL服務器 (How to set up a GraphQL Server using Node.js, Express & MongoDB) 從GraphQL和MongoDB開始的最直接的方法。 (The most straightforward…

leetcode954. 二倍數對數組(treemap)

給定一個長度為偶數的整數數組 A&#xff0c;只有對 A 進行重組后可以滿足 “對于每個 0 < i < len(A) / 2&#xff0c;都有 A[2 * i 1] 2 * A[2 * i]” 時&#xff0c;返回 true&#xff1b;否則&#xff0c;返回 false。 示例 1&#xff1a; 輸入&#xff1a;[3,1,…

linux文件內容打印成二進制,如何在二進制文件中只打印可打印字符(相當于Linux下的字符串)?...

在Python3中&#xff0c;以二進制模式打開文件會得到bytes的結果。迭代一個bytes對象可以得到0到255(包括0到255)的整數&#xff0c;而不是字符。從^{} documentation&#xff1a;While bytes literals and representations are based on ASCII text, bytes objects actually b…

1098 均分紙牌

1098 均分紙牌 2002年NOIP全國聯賽提高組 時間限制: 1 s 空間限制: 128000 KB 題目等級 : 黃金 Gold 題目描述 Description有 N 堆紙牌&#xff0c;編號分別為 1&#xff0c;2&#xff0c;…, N。每堆上有若干張&#xff0c;但紙牌總數必為 N 的倍數。可以在任一堆上取若于張紙…

輕松學習分布式|系列3|分布式數據庫。

我們繼續來講分布式&#xff0c;回到我們的創業游戲。 我們的業務規模上來了&#xff0c;客戶也越來越忠誠了。很多客戶都通過我們的訂票服務&#xff0c;來方便自己的行程。 那對這些老客戶&#xff0c;我們的宗旨是&#xff1a;要不斷超越客戶的期待。 所以&#xff0c;我們要…

量子運算 簡單通俗例子_什么是量子計算機? 用一個簡單的例子解釋。

量子運算 簡單通俗例子by YK Sugi由YK Sugi 什么是量子計算機&#xff1f; 用一個簡單的例子解釋。 (What is a quantum computer? Explained with a simple example.) Hi everyone!嗨&#xff0c;大家好&#xff01; The other day, I visited D-Wave Systems in Vancouver…