linux下變量名長度,Linux中shell的變量介紹

Linux中shell的變量介紹

發布時間:2020-06-24 16:20:39

來源:億速云

閱讀:112

作者:元一

這期內容當中的小編將會給大家帶來有關Linux中shell的變量介紹,以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

我們知道shell里面有許多變量,比如我們經常會用到的PATH變量,它的作用就是,它的作用是設置可執行文件的目錄,這樣輸入命令的時候就不用使用絕對路徑了。除此之外,shell還有許多其他的變量。今天,來和大家討論下shell變量。

分類

我們知道,php里面有局部變量和全局變量的區分,shell里面和php非常類型,有環境變量、普通變量。環境變量一般用于定義shell的運行環境,而普通變量則經常用于編寫shell腳本中。

環境變量和普通變量的區別是和php的變量非常類似:區別都是使用范圍的不同,shell的環境變量可以在當前shell以及衍生的shell的使用,而普通變量只能在當前shell使用。環境變量通常使用大寫,普通變量通常使用小寫。

定義變量

定義時,變量名不加美元符號($,PHP語言中變量需要),如:your_name="runoob.com"

注意,變量名和等號之間不能有空格,這可能和你熟悉的所有編程語言都不一樣。同時,變量名的命名須遵循如下規則:

命名只能使用英文字母,數字和下劃線,首個字符不能以數字開頭。

中間不能有空格,可以使用下劃線(_)。

不能使用標點符號。

不能使用bash里的關鍵字(可用help命令查看保留關鍵字)。

環境變量

查看當前所有的環境變量,使用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[數組下標]}

打印數組的部分元素 ${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

打印數組元素語法如下echo ${arr[元素下標]}

# echo ${arr[0]}

paul

# echo ${arr[1]}

james

打印數組所有的元素echo ${arr[@]}

數組的賦值、替換、刪除#追加元素

# 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的變量介紹了,如果您也有類似的疑惑,不妨礙參照上述分析進行理解。如果想了解更多相關內容,請關注億速云行業資訊。

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

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

相關文章

0 0/2 * * * ? linux文本含義,Linux基礎2.0

1、硬盤使用的步驟識別硬盤 > 分區規劃 > 格式化 > 掛載使用2、列出創建ext3、ext4、xfs、fat32文件系統的格式化工具及用法mkfs.ext3 分區設備路徑mkfs.ext4 分區設備路徑mkfs.xfs 分區設備路徑mkfs.vfat -F 32 分區設備路徑3、開機自動掛載配置文件及6個字段/etc/fs…

linux如何加載鏡像,linux可以加載iso鏡像文件到啟動項嗎

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓樓主的需求描述不清,不作評述。只說下關于樓上一些吧友提到的grub loopback設備可mount iso并讀取其中文件的功能未讀過grub1/2的源碼,不太了解其實現原理,但從應用上來說,這個設備不…

10個linux awk文本處理經典案例,關于AWK的10個經典案例

1、分析訪問日志(Nginx為例)日志格式: $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" 統計訪問IP次數: # awk…

arm linux 存儲,linux arm的存儲分布那些事

原標題:linux arm的存儲分布那些事linux arm 內存分布總覽上圖是linux的arm的虛擬地址分布總覽,我們按從低地址到高地址的順序逐個描述,每項的描述包括如下的內容的組和:地址范圍大小,虛擬轉物理的接口函數&#xff0c…

linux恢復終端默認配置,以gnome-terminal為例,修改gnome3 的默認配置,

以gnome-terminal為例,修改gnome3 的默認配置,gnome連續幾個版本的terminal默認配置文件都是同一個配置文件“b1dcc9dd-5262-4d8d-a863-c897e6d979b9”。這是因為gnome的developers編輯了這個配置文件并作為gnome-terminal的默認配置文件,用來…

c語言字符串文庫總結,C語言程序設計入門:字符串函數

版權聲明:以上文章中所選用的圖片及文字來源于網絡以及用戶投稿,由于未聯系到知識產權人或未發現有關知識產權的登記,如有知識產權人并不愿意我們使用,如果有侵權請立即聯系:55525090qq.com,我們立即下架或…

vs寫c語言能用scanf,【PAT編寫代碼時遇到的問題】vs中使用scanf(%c,x);

首先,為了在VS中使用scanf,可以在程序開頭加上#pragma warning(disable:4996)昨天在編寫程序的時候,突然發現在循環中使用scanf("%c",&x);的時候,發現結果很奇怪,只能讀入和輸出我所輸入的數據的一半。后…

大數計算器概念c語言,用C語言求兩個超大整數的和

用C語言求兩個超大整數的和在生活中,我們經常需要計算非常大的數,但是任何一種計算器都有計算范圍,一旦超過計算范圍就會有精度的損失。或許有同學認為我們可以通過程序來解決,比如對于C語言來說,我們定義一個long lon…

3 5的二維數組C語言程序,C語言及程序設計提高例程-33 二維數組元素的引用

賀老師教學鏈接 C語言及程序設計提高 本課講解輸入輸出二維數組元素#include int main(){int s[3][5], i, j;printf("Input 3*5 numbers\n");for (i0; i<3; i)for(j0; j<5; j)scanf("%d", &s[i][j]);for (i0; i<3; i){for(j0; j<5; j)pri…

android程序 幻燈片,Android:ViewPager制作幻燈片

public class MainActivity extendsActivity {//ViewPagerprivateViewPager viewpager;//幻燈片圖片資源private int [] imgArray{R.drawable.view1,R.drawable.view2,R.drawable.view3};//圖片數組private ArrayListviewlist;privateImageView imageView;//點點privateViewGro…

android獲取圖片方向并旋轉,Android 判斷imageview角度并旋轉

/*** 讀取照片exif信息中的旋轉角度** return角度 獲取從相冊中選中圖片的角度*/public static float readPictureDegree(String path) {int degree 0;try {ExifInterface exifInterface new ExifInterface(path);int orientation exifInterface.getAttributeInt(ExifInterf…

android鍵盤移動光標,在Android鍵盤上完成鍵

Jos Silva..12代替ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));嘗試ic.performEditorAction(EditorInfo.IME_ACTION_GO);執行的操作應該是在EditorInfo上定義的操作,它將在方法onStartInputView上傳遞給您要在操作之間切換,請使用:(sEditorI…

android 遠程桌面連接閃退,遠程桌面一點連接就閃退,不能彈出輸入賬號密碼窗口...

您好&#xff0c;感謝您在我們論壇發帖。首先&#xff0c;按照您的描述&#xff0c;正常情況下&#xff0c;您的客戶端可以遠程連接您的服務器&#xff0c;輸入IP和端口之后&#xff0c;會彈出驗證框&#xff0c;輸入賬戶密碼之后即可進入服務器的桌面。當出現問題時&#xff0…

com.sec.android.app.smartclipservice,EPR Aerospace News

The World Cup Ball And Its Astonishing Effects Can Be Easily Explained Through TheTheory Of Dynamic Interactions, Which Also Applies To The Flight Of The Boomerang.The official World Cup ball, the so called “Jabulani”, which has been object of a lot of c…

signature=5bcdc11c0d509d82e0d44c544cfad97b,江蘇省職稱計算機考試新職稱光盤試卷

試卷一1、世界上第一臺電子數字計算機采用的主要邏輯部件是(D)A光電管 B繼電器 C晶體管 D電子管2、世界上首次提出存儲程序計算機體系結構的是(D)A艾倫〃圖靈 B莫奇萊 C喬治〃布爾 D馮〃諾依曼3、計算機最主要的工作特點是(A)A存儲程序與自動控制 B高速度與高精度C可靠性與可用…

html表格內文字置頂,css如何讓table里的字居中?

css如何讓table里的字居中&#xff1f;下面本篇文章就來給大家介紹一下使用CSS讓table里字居中的方法。有一定的參考價值&#xff0c;有需要的朋友可以參考一下&#xff0c;希望對大家有所幫助。在CSS中&#xff0c;可以通過設置text-align: center;和vertical-align:middle;來…

你是怎么理解HTML語義化,HTML語義化標簽理解

1&#xff1a;語義化標簽是什么&#xff1f;語義化標簽&#xff0c;目的是讓標簽有自己的含義語義化非語義化如上代碼&#xff0c;p標簽含義就是段落&#xff0c;而span標簽毫無意義。2&#xff1a;語義化標簽好處方便用戶閱讀&#xff0c;頁面更加清晰。更好的SEO&#xff0c;…

html5離開網頁自動暫停,通過html5代碼在網頁中實現播放和暫停音樂mp3,mav等文

介紹通過html5代碼在網頁中實現播放和暫停音樂mp3,mav等文件的具體操作方法。這樣對于用戶來說&#xff0c;在線可播放功能能大大提高站內效率也可帶來一定的流量。希望對有需要的朋友有所幫助。這里我們需要先了解下&#xff0c;在html5中的兩個個重要標簽。阿里西西web開發網…

android開發屏幕橫放,android-即使從橫向旋轉到垂直,細節片段也會...

在一個Activity中,我們稱其為MasterActivity,我只想在橫向模式下加載媒體播放的細節片段.準備就緒后,媒體將自動啟動.主從流程設置&#xff1a;我有兩個xml,activity_master和activity_master.xml(land).標識為“ detail_container”的容器視圖僅位于景觀xml中.具有細節容器的l…

android insmod命令,android的啟動腳本(init.rc)文件的語法

android的啟動腳本(init.rc)文件的語法&#xff0c;參考資料&#xff1a;Android 初始化語言(Android Init Language)Android初始化腳本語言包含四種類型的語句&#xff1a;動作(Actions)指令(Commands)服務(Services)選項(Options)該語言的語法包括下列約定&#xff1a;所有類…