全面整理linux下shell中各種括號的作用及用法
當初自己在學習shell程式設計的時候,被各種括號的用法搞得頭昏腦漲。靠著逐步的熟悉和積累,才終於掌握的所有的括號的用法。現在,把自己總結出來的分享給大家。
註:看本文檔的前提是你已經有了bash以及shell程式設計的基礎。
單小括號()
但小括號常見的兩個作用:指令取代以及陣列的初始化
指令取代
當碰到$()結構時,shell就把括號的內部指令執行,並傳回結果
# tmp=$(date) # echo $tmp Fri Sep 18 10:22:30 CST 2020
初始化數組
# 初始化数组 lnmp=(linux nginx mysql php)
雙小括號(())
記住雙括號有一個特點,就是括號內的要符合c語言的語法,使用變數名時不需要加上$符號的。
雙小括號的用法比較多,它可以用來當作整數計算(不支援小數)。例如:$((3 2))
# echo $((1+3)) 4 # n1=3 # echo $((n1+7)) 10
只要符合c語言語法的運算擴展,都可以寫在括號裡
# echo $((3+4>5 ? 1 :0)) 1 # echo $((3+4>9 ? 1 :0)) 0
重新給變數賦值,這個時候不可在括號外加$符
# i=1;((i++));echo $i; 2 # i=1;((i=100));echo $i; 100
雙括號也常用在for迴圈中
for ((i=0;i<5;i++));do echo -n $i;done
#單方括號[]
單方括號最常見用於邏輯判斷中,另外它還可以作為數組的下標,以及在正則中表示一段範圍
shell腳本中用於條件判斷:
if [ 1 > 2 ] then …… fi
也可以作為數組下標:
# echo ${lnmp[1]} nginx
在正規中使用,表示一段範圍
[0-9] 表示数子0-9都行
#雙方括號
和單括號一樣,雙方括號也用在條件判斷中,但它比單方括號更加的通用。以下舉例:
[ a > b ] && [ a > 0 ]或[ a > b -a a > 0 ] 改成双括号 [[ a > b && a > 0 ]]
單花括號{}
#花括號拓展。 (通配(globbing))將對花括號中的檔名做擴充。在大括號中,不允許有空白,除非這個空白被引用或轉義。
例如輸入指令 rm -f {1,2}.txt將刪除1.txt和2.txt檔案。
單花括號中..的作用
#兩個點在這裡表示一段範圍的意思。例如
echo {1..10} #将打印1,2,3,4,5,6,7,8,9,10
花括號還常用在shell腳本裡,用於程式碼區塊。
初次之外,單花括號還可以用作變數內容的替換和刪除以及變數內容的測試,給出一個常見的例子。我們常常會判斷一個變數是否存在,如果不存在,則給該變數設定新值。
val=${n1:-test}
上面程式碼表示如果n1這個變數不存在或為空,則將val變數值設為test,否則val值為n1變數的值
以上是全面整理linux下shell中各種括號的作用及用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

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

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

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

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

Linux適用於服務器、開發環境和嵌入式系統。 1.作為服務器操作系統,Linux穩定高效,常用於部署高並發應用。 2.作為開發環境,Linux提供高效的命令行工具和包管理系統,提升開發效率。 3.在嵌入式系統中,Linux輕量且可定制,適合資源有限的環境。

在Linux上使用Docker可以提高開發和部署效率。 1.安裝Docker:使用腳本在Ubuntu上安裝Docker。 2.驗證安裝:運行sudodockerrunhello-world。 3.基本用法:創建Nginx容器dockerrun--namemy-nginx-p8080:80-dnginx。 4.高級用法:創建自定義鏡像,使用Dockerfile構建並運行。 5.優化與最佳實踐:使用多階段構建和DockerCompose,遵循編寫Dockerfile的最佳實踐。

當 Apache 80 端口被佔用時,解決方法如下:找出佔用該端口的進程並關閉它。檢查防火牆設置以確保 Apache 未被阻止。如果以上方法無效,請重新配置 Apache 使用不同的端口。重啟 Apache 服務。

啟動 Apache 的步驟如下:安裝 Apache(命令:sudo apt-get install apache2 或從官網下載)啟動 Apache(Linux:sudo systemctl start apache2;Windows:右鍵“Apache2.4”服務並選擇“啟動”)檢查是否已啟動(Linux:sudo systemctl status apache2;Windows:查看服務管理器中“Apache2.4”服務的狀態)啟用開機自動啟動(可選,Linux:sudo systemctl

啟動 Oracle 監聽器的步驟如下:檢查監聽器狀態(使用 lsnrctl status 命令)對於 Windows,在 Oracle Services Manager 中啟動 "TNS Listener" 服務對於 Linux 和 Unix,使用 lsnrctl start 命令啟動監聽器運行 lsnrctl status 命令驗證監聽器是否已啟動

本文介紹如何在Debian系統上有效監控Nginx服務器的SSL性能。我們將使用NginxExporter將Nginx狀態數據導出到Prometheus,再通過Grafana進行可視化展示。第一步:配置Nginx首先,我們需要在Nginx配置文件中啟用stub_status模塊來獲取Nginx的狀態信息。在你的Nginx配置文件(通常位於/etc/nginx/nginx.conf或其包含文件中)中添加以下代碼段:location/nginx_status{stub_status

本文介紹兩種在Debian系統中配置回收站的方法:圖形界面和命令行。方法一:使用Nautilus圖形界面打開文件管理器:在桌面或應用程序菜單中找到並啟動Nautilus文件管理器(通常名為“文件”)。找到回收站:在左側導航欄中尋找“回收站”文件夾。如果找不到,請嘗試點擊“其他位置”或“計算機”進行搜索。配置回收站屬性:右鍵點擊“回收站”,選擇“屬性”。在屬性窗口中,您可以調整以下設置:最大大小:限制回收站可用的磁盤空間。保留時間:設置文件在回收站中自動刪除前的保

在Debian系統中,readdir系統調用用於讀取目錄內容。如果其性能表現不佳,可嘗試以下優化策略:精簡目錄文件數量:盡可能將大型目錄拆分成多個小型目錄,降低每次readdir調用處理的項目數量。啟用目錄內容緩存:構建緩存機制,定期或在目錄內容變更時更新緩存,減少對readdir的頻繁調用。內存緩存(如Memcached或Redis)或本地緩存(如文件或數據庫)均可考慮。採用高效數據結構:如果自行實現目錄遍歷,選擇更高效的數據結構(例如哈希表而非線性搜索)存儲和訪問目錄信
