當前位置:首頁 » 編程軟體 » shell腳本聲明變數

shell腳本聲明變數

發布時間: 2022-08-03 02:45:23

⑴ shell腳本重新聲明環境變數的意義

1、腳本中定義的變數,僅僅在本次腳本會話中起作用
2、PATH這種變數是全局變數
3、export是全局變數
4、請去了解下$home/.bashrc之類的shell進程啟動時所載入的一些東西,以及/etc/profile這些文件

⑵ shell變數的作用空間是什麼

Shell是一個用C語言編寫的程序,它是用戶使用linux的橋梁。Shell既是一種命令語言,又是一種程序設計語言,涵蓋的知識點多且雜,卻是雲計算開發人員必須要掌握的技術之一。接下來就給大家梳理一下Shell變數相關的知識。

Linux Shell中的變數可以被指定為任意的數據類型,比如文本字元串或者數值。你也可以通過修改Shell中的變數來改變Shell的樣式。

Shell支持三種定義變數的方式:
variable=value
variable='value'
variable="value"
variable是變數名,value是賦給變數的值。如果value不包含任何空白符(例如空格、Tab縮進等),那麼可以不使用引號;如果value包含了空白符,那麼就必須使用引號包圍起來。注意,賦值號=的周圍不能有空格。
Shell變數的命名規范和大部分編程語言一樣:變數名由數字、字母、下劃線組成;必須以字母或者下劃線開頭;不能使用Shell里的關鍵字(通過help命令可以查看保留關鍵字)。

Linux中Shell變數分為系統變數和用戶自定義變數,系統變數包括$HOME、$PWD、$SHELL、$USER、echo $SHELL以及顯示當前Shell中所有變數set。

Shell自定義變數包括1)定義變數:變數=值;2)撤銷變數:unset變數;3)聲明靜態變數:readonly變數,注意不能unset;4)使用export把變數提升為全局環境變數,如/etc/profile中的TOMCAT_HOME變數,且在另外的/opt/tmp/shell/myShell.sh腳本中使用該環境變數。

Shell設置環境變數
基本語法:
1)export:變數名=變數值(功能描述:將shell變數輸出為環境變數)
2)source:配置文件(功能描述:讓修改後的配置文件立即生效)
3)echo:$變數名(功能描述:查詢環境變數的值)
單行注釋:#
多行注釋::<<!需要注釋的內容!

Shell腳本很適合處理純文本類型的數據,而Linux中幾乎所有的配置文件、日誌文件(如NFS、Rsync、Httpd、Nginx、MySQL等),以及絕大多數的啟動文件都是純文本類型的文件。Shell是運維人員必須要掌握的技能,此外還需要掌握Linux、信息安全、Docker容器等。

⑶ shell腳本怎麼輸出一行兩個值並定義兩個變數

咨詢記錄 · 回答於2021-11-01

⑷ 如何聲明和使用布爾變數的shell腳本

如果您需要運行一些測試,得到一個布爾結果在一個可讀的形式你可以試試這個:
但記住表達只是評估過程中的「如果」
#!/bin/bash

echo "running"

AA="[ -e a.sh ]"
if `$AA`
then
echo 1
else
echo 0
fi

echo "done"

⑸ 如何在shell腳本中使用變數

在網路中 搜索 linux 系統中使用變數 關鍵詞 ,有問題網路。 下面是我查的示例。


  1. 顯示環境變數HOME


$ echo $HOME

/home/redbooks

2. 設置一個新的環境變數hello

$ export HELLO="Hello!"

$ echo $HELLO

Hello!

3. 使用env命令顯示所有的環境變數

$ env

HOSTNAME=redbooks.safe.org

PVM_RSH=/usr/bin/rsh

Shell=/bin/bash

TERM=xterm

HISTSIZE=1000

...

4. 使用set命令顯示所有本地定義的Shell變數

$ set

BASH=/bin/bash

BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")

BASH_VERSION='2.05b.0(1)-release'

COLORS=/etc/DIR_COLORS.xterm

COLUMNS=80

DIRSTACK=()

DISPLAY=:0.0

...

5. 使用unset命令來清除環境變數

set可以設置某個環境變數的值。清除環境變數的值用unset命令。如果未指定值,則該變數值將被設為NULL。示例如下:

$ export TEST="Test..." #增加一個環境變數TEST

$ env|grep TEST #此命令有輸入,證明環境變數TEST已經存在了

TEST=Test...

$ unset $TEST #刪除環境變數TEST

$ env|grep TEST #此命令沒有輸出,證明環境變數TEST已經存在了

6. 使用readonly命令設置只讀變數

如果使用了readonly命令的話,變數就不可以被修改或清除了。示例如下:

$ export TEST="Test..." #增加一個環境變數TEST

$ readonly TEST #將環境變數TEST設為只讀

$ unset TEST #會發現此變數不能被刪除

-bash: unset: TEST: cannot unset: readonly variable

$ TEST="New" #會發現此也變數不能被修改

-bash: TEST: readonly variable

環境變數的設置位於/etc/profile文件

如果需要增加新的環境變數可以添加下屬行

export path=$path:/path1:/path2:/pahtN

-----------------------------------------------------------------------------------------------------------------------

1.Linux的變數種類

按變數的生存周期來劃分,Linux變數可分為兩類:

1.1 永久的:需要修改配置文件,變數永久生效。

1.2 臨時的:使用export命令聲明即可,變數在關閉shell時失效。

2.設置變數的三種方法

2.1 在/etc/profile文件中添加變數【對所有用戶生效(永久的)】

用VI在文件/etc/profile文件中增加變數,該變數將會對Linux下所有用戶有效,並且是「永久的」。

例如:編輯/etc/profile文件,添加CLASSPATH變數

# vi /etc/profile

export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

註:修改文件後要想馬上生效還要運行# source /etc/profile不然只能在下次重進此用戶時生效。

2.2 在用戶目錄下的.bash_profile文件中增加變數【對單一用戶生效(永久的)】

用VI在用戶目錄下的.bash_profile文件中增加變數,改變數僅會對當前用戶有效,並且是「永久的」。

例如:編輯guok用戶目錄(/home/guok)下的.bash_profile

$ vi /home/guok/.bash.profile

添加如下內容:

export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

註:修改文件後要想馬上生效還要運行$ source /home/guok/.bash_profile不然只能在下次重進此用戶時生效。

2.3 直接運行export命令定義變數【只對當前shell(BASH)有效(臨時的)】

在shell的命令行下直接使用[export 變數名=變數值] 定義變數,該變數只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變數也就失效了,再打開新shell時就沒有這個變數,需要使用的話還需要重新定義。

3.環境變數的查看

3.1 使用echo命令查看單個環境變數。例如:

echo $PATH

3.2 使用env查看所有環境變數。例如:

env

3.3 使用set查看所有本地定義的環境變數。

unset可以刪除指定的環境變數。

4.常用的環境變數

PATH 決定了shell將到哪些目錄中尋找命令或程序

HOME 當前用戶主目錄

HISTSIZE歷史記錄數

LOGNAME 當前用戶的登錄名

HOSTNAME指主機的名稱

SHELL 當前用戶Shell類型

LANGUGE 語言相關的環境變數,多語言可以修改此環境變數

MAIL當前用戶的郵件存放目錄

PS1基本提示符,對於root用戶是#,對於普通用戶是$

⑹ linux 聲明環境變數:在shell腳本文件中用export 聲明的變數,是環境變數嗎

如果在一個shell腳本程序中定義了一個變數,當該腳本程序運行時,這個定義的變數只是該腳本程序內的一個局部變數,其他的shell不能引用它,要使某個變數的值可以在其他shell中被改變,可以使用export命令對已定義的變數進行輸出。export的效力僅限於該次登陸,重啟後失效。

⑺ 如何正確在Linux Shell腳本中定義一個時間變數

1、創建腳本 test.sh,並入截圖內容。

熱點內容
sql能力 發布:2025-02-09 10:43:50 瀏覽:982
編譯framework 發布:2025-02-09 10:42:11 瀏覽:382
五子棋對戰演算法 發布:2025-02-09 10:12:19 瀏覽:713
php樹菜單 發布:2025-02-09 10:04:10 瀏覽:360
linux保存ip 發布:2025-02-09 10:04:10 瀏覽:24
四川霜狼伺服器怎麼樣 發布:2025-02-09 10:02:44 瀏覽:146
Vs中h編譯選項是灰的 發布:2025-02-09 10:01:59 瀏覽:558
安卓43怎麼升級44 發布:2025-02-09 09:51:33 瀏覽:464
美國雲伺服器快還是香港快 發布:2025-02-09 09:34:33 瀏覽:989
怎麼解壓qq文件 發布:2025-02-09 09:18:14 瀏覽:581