【Linux】shell編程,()圓括號, []方括號, {}花括號與(())雙括號的使用區別

1. ( )圓括號

初始化數組使用圓括號;
命令組,將一系列命令用空格隔開;
命令替換,使用$ 美元符,將命令進行嵌套使用;(有點兒類似于管道符作用的感覺)

arr=(1 2 3 4 5)

2. [ ]方括號

搭配美元符$,用于整型計算;
數組默認使用方括號提取對應下標的元素
test命令的簡寫形式就是方括號[ ],而且方括號包圍的命令兩側必須有空格隔開。用于if條件語句中;

var1=10	#變量var1,var2
var2=20
var3=$[ var1+var2+2 ]; 	#輸出運算結果:32
var3=$[ $var1+$var2+2];	#輸出:32
arr=(1 2 3)
echo ${arr[1]};	#輸出:2
#!/bin/bash	
var1=10
var2=20
if [ $var1 -gt $var2 ]
thenecho hello linux world!
elseecho study linux now!
fi

輸出:study linux now!

3. { }花括號

用于需要變量和字符串組合輸出時,變量后拼接字符串。包住變量,避免歧義

var1=10	#變量var1
echo $var11; 	#未識別變量var11
echo ${var1}1;	# 101,其中10是變量var1的值,1為后續字符串
arr = (1 2 3)	#數組arr
echo $arr; 	#輸出數組第一個元素:1
echo $arr[1];	#輸出數組第一個元素和后續:1[1]
echo ${arr[1]};	#輸出數組下標為1的元素:2,數組下標從0開始
echo $arr[*]; 	#輸出第一個元素和后續:1[*]
echo ${arr[*]};	#避免歧義,輸出數組中的全部元素:1 2 3

4. (())雙括號

使用高級數學表達式,也可與美元符號搭配,用于整型數據計算。使用高級數學表達式時,內部不使用美元符時未報錯。

var1=10	#變量var1,var2
var2=20
var3=$((var1+var2))		#輸出30
var4=$(($var1+$var2))	#輸出30
var5=((var1+var2))  	報錯
var6=((var1+var2))  	報錯

其他測試結果

j=1
echo j #輸出j
echo $j	 #輸出1
k=j+1
echo $k	 #輸出j+1
k=(j+1)
echo $k	 #輸出j+1
k=$j+1
echo $k	 #輸出1+1
k=($j+1)
echo $k	 #輸出1+1
k=$((j+1))
echo $k	 #輸出2
k=$(j+1)
echo $k	#報錯:j+1:未找到命令

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

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

相關文章

【Linux】搭建私有yum倉庫(類阿里云)

在搭建本地yum倉庫并配置國內鏡像阿里云源中了解yum源 yum : Yellow dog Updater,Modified,是一種基于rpm包的自動升級和軟件包管理工具。yum能從指定的服務器自動下載rpm包并安裝,自動計算出程序之間的依賴關系和軟件安裝的步驟&…

《Python編程從入門到實踐》day25

# 昨日知識點回顧 如何創建多行外星人 碰撞結束游戲 創建game_stats.py跟蹤統計信息 # 今日知識點學習 第14章 記分 14.1 添加Play按鈕 14.1.1 創建Button類 import pygame.font# button.py class Button:def __init__(self, ai_game, msg):"""初始化按鈕…

【Python系列】Python中列表屬性提取

💝💝💝歡迎來到我的博客,很高興能夠在這里和您見面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內容和知識,也可以暢所欲言、分享您的想法和見解。 推薦:kwan 的首頁,持續學…

地下工程中測斜儀的關鍵應用

地下工程,如隧道、地鐵和基坑等項目的建設,對于現代城市的發展至關重要。然而,這些工程的實施往往伴隨著諸多風險,特別是與周圍土體的穩定性有關的風險。為了確保工程的安全進行,實時監測技術變得尤為關鍵。其中&#…

vue3專欄項目 -- 三、使用vue-router 和 vuex(下)

一、添加columnDetail 頁面 首頁有專欄列表(ColumnList組件),專欄列表中有很多專欄,然后點擊某個專欄就進入專欄詳情頁(ColumnDetail組件),專欄詳情頁中有很多文章,點擊某個文章就進…

經開區創維汽車車輛交接儀式順利舉行,守護綠色出行助力低碳發展

5月10日,“創維新能源汽車進機關”交車儀式于徐州順利舉行,20輛創維EV6 II正式交付經開區政府投入使用。經開區陳琳副書記、黨政辦公室副主任張馳主任、經開區公車管理平臺苑忠民科長、創維汽車總裁、聯合創始人吳龍八先生、創維汽車營銷公司總經理饒總先…

配置管理與IT資產管理:差異與協同共生

在信息技術日新月異的今天,高效、可靠的IT服務管理成為企業競爭力的關鍵一環。ITIL4 作為業界公認的IT服務管理框架,為我們提供了一套全面而系統的實踐指南。在這一框架下,配置管理和IT資產管理作為兩大核心實踐,雖各有側重&#…

線路和繞組中的波過程(三)

本篇為本科課程《高電壓工程基礎》的筆記。 本篇為這一單元的第三篇筆記。上一篇傳送門。 沖擊電暈對線路上波過程的影響 實際中的導線存在電阻,而且還有對地電導,會消耗一部分能量。但是因為雷擊所涉及的傳輸距離很短,所以幾乎可以忽略這…

深入解析RedisSearch:全文搜索的新維度

碼到三十五 : 個人主頁 在當今的數據時代,信息的檢索與快速定位變得尤為關鍵。Redis,作為一個高性能的內存數據庫,已經在緩存和消息系統中占據了重要地位。然而,Redis并不直接支持復雜的搜索功能。為了填補這一空白&am…

【計算機網絡】計算機網絡概述、計算機網絡性能指標 習題1

0 1. 計算機網絡可被理解為( )。 A.執行計算機數據處理的軟件模塊 B. 由自治的計算機互連起來的集合體 C.多個處理器通過共享內存實現的緊耦合系統 D. 用于共同完成一項任務的分布式系統 0 2.計算機網絡最基本的功能是( )。 A.數據通信 B. 資源共享 C. 分布式處理 D. 信息綜合…

python的deap庫使用記錄

主要是在遺傳符號回歸的代碼中添加了注釋和根據一部分源碼做了一點改動 import operator import random import numpy as np import matplotlib.pyplot as plt from deap import algorithms, base, creator, tools, gp from operator import attrgetter##生成數據 def generat…

【Python系列】字節串與字典字節串

💝💝💝歡迎來到我的博客,很高興能夠在這里和您見面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內容和知識,也可以暢所欲言、分享您的想法和見解。 推薦:kwan 的首頁,持續學…

ASP.NET WebApi 如何使用 OAuth2.0 認證

前言 OAuth 2.0 是一種開放標準的授權框架,用于授權第三方應用程序訪問受保護資源的流程。 OAuth 2.0 認證是指在這個框架下進行的身份驗證和授權過程。 在 OAuth 2.0 認證中,涉及以下主要參與方: 資源所有者(Resource Owner&…

【.NET Cote】你真的了解HttpRuntime類嗎

【.NET Cote】你真的了解HttpRuntime類嗎 文章目錄 【.NET Cote】你真的了解HttpRuntime類嗎一、HttpRuntime概述二、HttpRuntime是什么包三、HttpRuntime屬性四、HttpRuntime方法五、HttpRuntime.Cache方法六、HttpRuntime.Cache應用 一、HttpRuntime概述 C# HttpRuntime是一…

JAVA基礎之下載,socket實現網絡聊天

目錄 一、如何利用正則表達式找到img標簽 compile編譯編制 二、下載圖片的方法 三、socket實現網絡聊天 1.inputStreamReader 字節的讀取流--->字符的讀取流 2.outputStreamWriter 字節的寫入流--->字符的寫入流 一、如何利用正則表達式找到img標簽 compile編譯編制…

antd組件狀態變換為啥要使用剪頭函數

先看下代碼 import React, {useState} from react; import {Switch, Typography} from antd;const {Paragraph, Text} Typography;const App: React.FC () > { const [ellipsis, setEllipsis] useState(true);return (<>//正確的<Switch checked{ellipsis}onCh…

掌握SQL的時間序列分析利器:LEAD與LAG函數詳解

在SQL中&#xff0c;處理時間序列數據時&#xff0c;經常需要查看當前行與相鄰行之間的關系。這時&#xff0c;LEAD和LAG兩個窗口函數就顯得尤為重要。它們允許我們訪問結果集中的前一行或后一行的數據&#xff0c;為數據分析和處理提供了極大的便利。本文將詳細介紹LEAD和LAG函…

steam_api64.dll是什么東西?steam_api64.dll缺失的多個詳細解決方法

在現代PC游戲領域&#xff0c;Steam無疑是最具影響力的游戲分發和社交平臺之一。它不僅提供了一個龐大的游戲市場&#xff0c;還集成了好友系統、成就系統、云存儲等多種功能&#xff0c;為數百萬玩家提供了便捷的游戲體驗。在這龐大的生態系統中&#xff0c;steam_api64.dll作…

Windows10環境搭建http服務器

我 的 個 人 主 頁&#xff1a;&#x1f449;&#x1f449; 失心瘋的個人主頁 &#x1f448;&#x1f448; 入 門 教 程 推 薦 &#xff1a;&#x1f449;&#x1f449; Python零基礎入門教程合集 &#x1f448;&#x1f448; 虛 擬 環 境 搭 建 &#xff1a;&#x1f449;&…

基于 Wireshark 分析 IP 協議

一、IP 協議 IP&#xff08;Internet Protocol&#xff09;協議是一種網絡層協議&#xff0c;它用于在計算機網絡中實現數據包的傳輸和路由。 IP協議的主要功能有&#xff1a; 1. 數據報格式&#xff1a;IP協議將待傳輸的數據分割成一個個數據包&#xff0c;每個數據包包含有…