這篇文章主要為大家總結了關於Shell中特殊字符的相關資料,文中包括分好、&、#、! 、$、大於號、單雙引號等等一系列特殊字元的用法,透過範例程式碼介紹的非常詳細,對大家的學習或工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
前言
眾所周知shell既是類別Unix作業系統的命令解析器,用來解釋執行使用者輸入的一連串指令,它類似於DOS下的command和後來Windows的cmd.exe。同時shell也是一種程式設計語言。作為命令解釋型的腳本語言,它交互式解釋和執行用戶輸入的命令或自動地解釋和執行預先設定好的一連串的命令;作為程式設計語言,它預定義了各種環境變量,保留了一些關鍵字以及一些特殊字元的含義,並提供了許多在高階語言中才具有的控制結構,包括循環和分支判斷。
本文將介紹給大家關於Shell特殊字元用法的相關內容,話不多說,來一起看看詳細的介紹:
1、;分號
連續運行指令
# ifdown eth0;ifup eth0
2、| 管道
正規表示式中表示或
# echo "ooooee" |egrep '(oo|ee)'{2} 表示匹配 oooo 或者 eeee 的字符
前面指令的標準輸出作為後面指令的標準輸入
# ifconfig|grep eth0 表示ifconfig查出来的信息然后过滤出eth0的这一行
3、&
#將指令放到背景執行
# mysqld_safe --user=mysql & 将MySQL放到后台启动
表示標準輸出與標準錯誤輸出
# ifconfig &>/dev/null 将ifconfig执行得到的结果输出到/dev/null里面
##4、 &&
# ls && echo "ok"
5、||
# lls || echo "ok"
6、# 井號
# echo $# 0${#變數名稱} 表示變數的長度
# a='hello' # echo ${#a} 5${#變數名[@]} 表示陣列的數量
# a=(1 2 3) # echo ${#a[@]} 3
7、!驚嘆號
# if ! [ 1<2 ]; then echo 'ok'; else echo 'no'; fi ok執行歷史指令
# history 1 ls 2 tail test1.txt 3 mysql -uroot -p123 4 ls /tmp/ 5 cd /tmp/ [root@localhost ~]# !994 ls /tmp/ account.sql data.sql mysql.sock t1.txt t2.txtvi或ftp中執行外部shell指令
${!a} ---- 間接取b 的值
8、$ 美元符號
# a=10 # echo $a 10正規表示式表示行尾
egrep ':$' /etc/inittab egrep ‘^hello$' file
9、> 大於號碼
echo '123' >test.txt 表示将123 输入到文件test.txt中 条件测试中的大于号
11、
##變數賦值- 例如:設定變數a=10
條件測試中的等- 例如:[ a=b ] 判斷變數a是否等於b
數值比較== - 例如:(( a==20 )) 判斷變數a是否等於20
#12、+ 加號 ##算術運算中的加號- 例如:1+3
正規表示式中1個或多個前面的字元- 例如:ab+c 表示符合ab和c之間有1個或多個字元
#輸出重定向追加- 例如:
echo "123" >> test.txt
例如:
# passwd <<end > 123 > 123 > end
更改使用者root 的密碼。
#算術運算中的減號- 例如:10-2
指令的選項- 例如:ls -l
上一次工作目錄- 例如:cd -
通配符和正規表示式中表示範圍- 例如:[a-z]
tar -cvf - /home | tar -xvf -
表示輸出流或輸入流
將前面的輸出,透過管道交給後面的指令,前面的壓縮,後面的解壓縮
解决变量赋值空格的问题 例如:a='1 2' 阻止shell替换 17、"" 双引号 解决变量赋值空格的问题 例如:a="1 2" 阻止shell部分字符替换,对$、!等无效 18、`` 反引号 相当于 $() 命令行替换 例如:可以设变量a=`ls` 19、% 百分号 算术运算中的模运算 例如: vi中替换操作中表示所有行 (末行模式下,替换所有前面加 %) 例如:在末行模式下输入 :% s/D/d 表示将文本中的所有的D替换为d 20、() 单圆括号 子shell中执行命令,会继承父shell的变量 括起数组元素 例如:定义一个数组 a=(1 2 3 4) 21、(()) 双圆括号 算术运算 例如: 整数比较测试 例如: 22、[] 单方括号 通配符和正则中表示匹配括号中的任意一个字符 例如: 条件测试表达式 例如: 数组中下标括号 例如: 23、[[]] 双方括号 字符串比较测试 例如: 24、. 英文句点号 正则中表示任意1个字符 例如: 当前shell执行脚本命令 例如: 表示当前目录 例如: 25、{} 大括号 通配符扩展 abc{1,2,3} 正则表达式中表示范围 例如:a{3} 匹配3个 a 匿名函数 { } 里面的命令,是在当前shell执行 注意: { } 第一条命令前面要有空格,后面的命令要有分号 括起变量名 26、/ 正斜杠 算术运算中的除法 例如: 根目录或路径分割符 例如: 27、^ 在通配符中表示取反 例如:[^abc] 表示匹配除了abc外的任意一个字符 在正则表达式中表示以什么开头 例如:echo $((100%10))
就是100除以10的余数为0echo $((10/2))
结果就是5(( 10>2 ))
判断10是否大于2 [abc]
表示匹配abc中的任意一个字符[ -f /etc/passwd ]
// 测试是不是文件echo ${a[0]}
表示取数组中下标为0的值[[a=b]]
用来字符串的比较a...b
表示 匹配 a和b之间夹三个字符的字符串./test.sh
执行当前路径下的shell脚本test.shcd ./bgk
进入当前目录下的bgk目录下for i in {1...10}
循环指定范围{ cmd1;cmd2;cmd3;} &> /dev/null
${abc}a
echo $((10/2))
结果就是5cd /usr/local/
表示路径egrep ‘^hello$' file
以上是總結Shell中的特殊字符的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Linux的5個核心組件分別是內核、Shell、文件系統、系統庫和系統工具。 1.內核管理硬件資源並為應用程序提供服務。 2.Shell作為用戶與系統的接口,解釋並執行命令。 3.文件系統負責數據的存儲和組織。 4.系統庫提供預編譯函數供應用程序調用。 5.系統工具用於系統管理和維護。這些組件協同工作,賦予Linux強大的功能和靈活性。

本文介紹幾種檢查Debian系統OpenSSL配置的方法,助您快速掌握系統安全狀態。一、確認OpenSSL版本首先,驗證OpenSSL是否已安裝及版本信息。在終端輸入以下命令:opensslversion若未安裝,系統將提示錯誤。二、查看配置文件OpenSSL主配置文件通常位於/etc/ssl/openssl.cnf。您可以使用文本編輯器(例如nano)查看:sudonano/etc/ssl/openssl.cnf此文件包含密鑰、證書路徑及加密算法等重要配置信息。三、利用ope

本指南詳細介紹如何在Debian系統上搭建Hadoop開發環境。一、安裝Java開發套件(JDK)首先,安裝OpenJDK:sudoaptupdatesudoaptinstallopenjdk-11-jdk-y配置JAVA_HOME環境變量:sudonano/etc/environment在文件末尾添加(根據實際JDK版本調整路徑):JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"保存並退出,然後執行:source/etc

在Debian系統上有效管理Hadoop資源,需要遵循以下步驟:Hadoop部署:首先,在Debian系統上完成Hadoop的安裝與配置。這包括下載Hadoop發行包、解壓、設置環境變量等必要操作。集群配置:安裝完成後,對Hadoop集群進行配置,涵蓋HDFS(Hadoop分佈式文件系統)和YARN(YetAnotherResourceNegotiator)的設置。需要修改核心配置文件,例如:core-site.xml、hdfs-site.xml、mapred-site.x

提升DebianTomcat日誌安全性,需關注以下關鍵策略:一、權限控制與文件管理:日誌文件權限:默認日誌文件權限(640)限制了訪問,建議修改catalina.sh腳本中的UMASK值(例如,從0027改為0022),或在log4j2配置文件中直接設置filePermissions,以確保合適的讀寫權限。日誌文件位置:Tomcat日誌通常位於/opt/tomcat/logs(或類似路徑),需定期檢查該目錄的權限設置。二、日誌輪轉與格式:日誌輪轉:配置server.xml

Tomcat服務器日誌中的警告信息提示潛在問題,可能影響應用性能或穩定性。有效解讀這些警告信息需要關注以下幾個關鍵點:警告內容:仔細研讀警告信息,明確問題類型、成因及可能的解決方法。警告信息通常會提供詳細描述。日誌級別:Tomcat日誌包含不同級別信息,例如INFO、WARN、ERROR等。 “WARN”級別的警告提示非致命性問題,但需要關注。時間戳:記錄警告發生的時間,以便追溯問題出現的時間點,分析其與特定事件或操作的關係。上下文信息:查看警告信息前後日誌內容,獲取

Tomcat日誌是診斷內存洩漏問題的關鍵。通過分析Tomcat日誌,您可以深入了解內存使用情況和垃圾回收(GC)行為,從而有效定位和解決內存洩漏。以下是如何利用Tomcat日誌排查內存洩漏:1.GC日誌分析首先,啟用詳細的GC日誌記錄。在Tomcat啟動參數中添加以下JVM選項:-XX: PrintGCDetails-XX: PrintGCDateStamps-Xloggc:gc.log這些參數會生成詳細的GC日誌(gc.log),包含GC類型、回收對像大小和時間等信息。分析gc.log

Debian系統下Apache日誌對服務器性能的影響是雙刃劍,既有積極作用,也有潛在的負面影響。積極方面:問題診斷利器:Apache日誌詳細記錄服務器所有請求和響應,是快速定位故障的寶貴資源。通過分析錯誤日誌,可以輕鬆識別配置錯誤、權限問題及其他異常。安全監控哨兵:訪問日誌能夠追踪潛在安全威脅,例如惡意攻擊嘗試。通過設置日誌審計規則,可以有效檢測異常活動。性能分析助手:訪問日誌記錄請求頻率和資源消耗,幫助分析哪些頁面或服務最受歡迎,從而優化資源分配。結合top或htop等


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

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

Dreamweaver Mac版
視覺化網頁開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載
最受歡迎的的開源編輯器