我們知道shell裡面有許多變量,例如我們常會用到的PATH變量,它的作用就是,它的作用是設定可執行檔的目錄,這樣輸入指令的時候就不用使用絕對路徑了。除此之外,shell還有許多其他的變數。今天,來跟大家討論下shell變數。
分類
我們知道,php裡面有局部變數和全域變數的區分,shell裡面和php非常類型,有環境變數、普通變數。環境變數一般用於定義shell的運作環境,而普通變數則常用於編寫shell腳本中。
環境變數和普通變數的差異是和php的變數非常類似:差異都是使用範圍的不同,shell的環境變數可以在目前shell以及衍生的shell的使用,而普通變數只能在目前shell使用。環境變數通常使用大寫,普通變數通常使用小寫。
環境變數
查看目前所有的環境變量,使用env(environment)指令即可
# env XDG_SESSION_ID=38135 HOSTNAME=iz8vb626ci0aehwsivxaydz TERM=xterm SHELL=/bin/bash HISTSIZE=1000 SSH_CLIENT=114.106.186.229 31955 22 QTDIR=/usr/lib64/qt-3.3 ……
另外還可以用set指令來查看,但是該指令會列出所有環境變數以及普通變數。一般的,環境變數都會使用大寫的字母來表示。
設定及取消環境變數
使用者自訂設定環境變數的方式如下
export 变量名=变量值
如想取消環境變數,則可以使用unset指令來完成
unset 变量名
下面來示範:
# export HOBBY=basketball # env | grep HOBBY HOBBY=basketball # unset HOBBY # env | grep HOBBY
##變數的列印與設定
linux下有一個echo指令,使用方法和php是一樣的,都是用來列印一段文字。# echo hello,world hello,world # echo -e "$PWD\n$PATH" /root /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin變數的設定規則,
变量名=变量内容
- 注意"="兩邊都不能有空格 ##變數名稱只能是字母和數字,另外首個字不能是數字
- 變數內容若有空格,需要使用引號(單引號、雙引號)將變數內容闊起來,如name=" lebron james"。雙引號裡可以解析變數。
- 若有特殊字符,可以使用\來轉義,如enter、'、」等特殊字符
- 如想使用指令結果作為變數內容,可以使用$(指令)或指令;
- 若想擴充變數內容,可以使用"{$變數}累積內容"
#array和php一樣,shell變數也有陣列型別。陣列的定義語法如下:
变量名=(val1 val2 ... valn); arr=(paul james durant)
列印陣列元素語法如下
echo ${arr[元素下标]} # echo ${arr[0]} paul # echo ${arr[1]} james
列印陣列所有的元素
echo ${arr[@]}
列印陣列的長度
echo ${#arr[@]}
列印陣列元素的長度
echo ${#arr[数组下标]}列印陣列的部分元素${lnmp[@]:n1:n2}
n1表示開始,n2表示長度# 打印所有元素
# echo ${lnmp[@]}
linux nginx mysql php
# echo ${lnmp[@]:0}
linux nginx mysql php
# 打印从第二个元素开始的所有值
# echo ${lnmp[@]:1}
nginx mysql php
# 打印第一个值和第二个值
# echo ${lnmp[@]:0:2}
linux nginx
# 打印第二个值和第三个值
# echo ${lnmp[@]:1:2}
nginx mysql
##
#追加元素 # lnmp[${#lnmp[@]}]=apache # echo ${lnmp[@]} linux nginx mysql php apache # 修改元素 # lnmp[0]=l # echo ${lnmp[@]} linux nginx mysql php # 删除元素 unset lnmp[0] unset lnmp[1] unset lnmp
以上是Linux運維之shell變數.md的詳細內容。更多資訊請關注PHP中文網其他相關文章!

掌握Linux操作的原因是其廣泛的應用場景和強大的功能。 1)Linux適合開發者、系統管理員和技術愛好者,應用於服務器管理、嵌入式系統和容器化技術。 2)學習Linux可以從文件系統結構、Shell使用、用戶權限管理和進程管理入手。 3)Linux命令行是其核心工具,通過Shell執行命令,如ls、mkdir、cd等,支持重定向和管道操作。 4)高級用法包括編寫自動化腳本,如備份腳本,使用tar命令和條件判斷。 5)常見錯誤包括權限、路徑和語法問題,可通過echo、set-x和$?調試。 6)性能優化建議

Linux系統的五大支柱是:1.內核,2.系統庫,3.Shell,4.文件系統,5.系統工具。內核管理硬件資源並提供基本服務;系統庫為應用程序提供預編譯函數;Shell是用戶與系統交互的接口;文件系統組織和存儲數據;系統工具用於系統管理和維護。

在Linux系統中,可以通過在啟動時按特定鍵或使用命令如“sudosystemctlrescue”進入維護模式。維護模式允許管理員在不受干擾的情況下進行系統維護和故障排除,如修復文件系統、重置密碼、修補安全漏洞等。

Linux初學者應掌握文件管理、用戶管理和網絡配置等基本操作。 1)文件管理:使用mkdir、touch、ls、rm、mv、cp命令。 2)用戶管理:使用useradd、passwd、userdel、usermod命令。 3)網絡配置:使用ifconfig、echo、ufw命令。這些操作是Linux系統管理的基礎,熟練掌握它們可以有效管理系統。

本文解釋瞭如何管理Linux中的Sudo特權,包括授予,撤銷和安全性最佳實踐。關鍵重點是安全和sudoers安全和限制訪問。Character數量:159

本文提供了有關使用Google Authenticator在Linux上設置兩因素身份驗證(2FA)的指南,詳細介紹了安裝,配置和故障排除步驟。它突出了2FA的安全益處,例如增強的SEC

本文討論了使用TOP,HTOP和VMSTAT監視Linux系統性能,並詳細介紹其獨特功能和自定義選項,以進行有效的系統管理。

文章討論了使用APT,YUM和DNF在Linux中管理軟件包,涵蓋安裝,更新和刪除。它比較了它們對不同分佈的功能和適用性。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

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

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境