導航:首頁 > 操作系統 > linuxshell定義變數

linuxshell定義變數

發布時間:2022-05-28 09:27:32

linux環境變數怎麼配置

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變數可分為兩類:
永久的:需要修改配置文件,變數永久生效。
臨時的:使用export命令聲明即可,變數在關閉shell時失效。
2.設置變數的三種方法
在/etc/profile文件中添加變數【對所有用戶生效(永久的)】
用VI在文件/etc/profile文件中增加變數,該變數將會對Linux下所有用戶有效,並且是「永久的」。
例如:編輯/etc/profile文件,添加CLASSPATH變數
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
註:修改文件後要想馬上生效還要運行# source /etc/profile不然只能在下次重進此用戶時生效。
在用戶目錄下的.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不然只能在下次重進此用戶時生效。
直接運行export命令定義變數【只對當前shell(BASH)有效(臨時的)】
在shell的命令行下直接使用[export 變數名=變數值] 定義變數,該變數只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變數也就失效了,再打開新shell時就沒有這個變數,需要使用的話還需要重新定義。
環境變數的查看
使用echo命令查看單個環境變數。例如:
echo $PATH
使用env查看所有環境變數。例如:
env
使用set查看所有本地定義的環境變數。
unset可以刪除指定的環境變數。
常用的環境變數
PATH 決定了shell將到哪些目錄中尋找命令或程序
HOME 當前用戶主目錄
HISTSIZE歷史記錄數
LOGNAME 當前用戶的登錄名
HOSTNAME指主機的名稱
SHELL 當前用戶Shell類型
LANGUGE 語言相關的環境變數,多語言可以修改此環境變數
MAIL當前用戶的郵件存放目錄
PS1基本提示符,對於root用戶是#,對於普通用戶是$

⑵ 如何在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腳本的變數為什麼不能用數字

變數名和等號之間不能有空格,這可能和你熟悉的所有編程語言都不一樣。同時,變數名的命名須遵循如下規則:
•首個字元必須為字母(a-z,A-Z)。
•中間不能有空格,可以使用下劃線(_)。
•不能使用標點符號。
•不能使用bash里的關鍵字(可用help命令查看保留關鍵字)。

⑷ linux中的shell變數的種類及各種類的用處是什麼

2.1.1 本地變數
定義:是在用戶現在的shell生命期的腳本中使用;
例:[redhat@server redhat]$name="Red Hat Linux" #把變數設置為Red Hat Linux
[redhat@server redhat]$echo ${name} or #顯示變數內容
=[redhat@server redhat]$echo $name #等同上面的語意
Red Hat Linux #顯示其設定內容,
[redhat@server redhat]$set | grep "name" #查看剛才所設定的內容,或不加'grep "name"'查看用戶自己所有的本地變數,
[redhat@server redhat]$readonly name #把name這個變數設置為只讀變數,不允許再次設置,這可參考變數定義;-_-!
[redhat@server redhat]$name="He SenLin" #重新賦值
bash:name:readonly variable #只讀文件系統
[redhat@server redhat]$readonly #查看系統存在的只讀文件
附:重新登錄一下系統,再次用
[redhat@server redhat]$echo ${name}
#本地變數就不存在了,
說明本地變數只能存活在用戶shell的生命周期中,重登錄就不在了,
2.1.2 環境變數
定義:環境變數用於所有用戶進程<通稱為子進程>,包括編輯器,腳本和應用,登錄進程為父進程,shell中執行的用戶進程均為子進程,不像本地變數只用於現在的shell.
存在目錄在所有用戶的主目錄下<即/home>/.bash_profile或
如何設置環境變數?第一種方法就是編輯上面的二個文件,還可以用"export"進行設定或更改;這可不像本地變數只需 name="Red Hat Linux"那樣簡單,但卻可以把本地變數更改為環境變數;只須在本地變數結束後,輸入:export <變數名>;例,我們把name由本地變數修改為環境變數,我們可以這樣做;
[root@server root]#name="Red Hat Linux" #本地變數
[root@server root]#export name #變數name由本地升為環境
當然也可以用下面這種方法;
[root@server root]#export name="Red Hat Linux" #直接定義name為環境變數;
定義後,可通過env進行查看,不知道上面的本地環境變數由哪個命令進行查看你記住了沒有?,演示一下查看現在定義的環境變數;
[root@server root]#env | grep "name"
Red Hat Linux
同樣不加後面grep "name",這個參數也是查看所有的環境變數;更同樣的是我們也可以運行readonly這個參數給name以只讀屬性;
Tips:環境變數就是全部包含在本地變數中<因為它即可運行中父進程中也可運行於子進程中>,注意一點,本地變數不能運行在全部進程中,只有環境變數可以,再不懂就聯想一下人與自然吧;-_-!還是不會?用絕招:
[root@server root]#you=myfriend #設置本地變數name為myfriend
[root@server root]#echo ${you} #查看一下是否成功
myfriend #成功
[root@server root]#sh #更換shell環境等同重登錄,這相當一個
sh-2.05b#echo $you #用戶子進程
#沒顯示,說明不存在,真的不存在?
sh-2.05b#exit #返回bash環境
[root@server root]#echo $you #再次查看;
myfriend #又出來了,怎麼回事?
[root@server root]#export you #把變數you設為環境變數;
[root@server root]#sh #再試一次;
sh-2.05b#echo $you
myfriend #ok,you see?
再不懂,,你就把我殺了吧,,什麼,你不知道我住在哪?汗-_-!
再補充一點,就是在sh進程中設置環境變數是可以寫回bash環境中,因為bash是父進程,只有老的才有小的,小的怎麼才能有老的哩?<長大了就有老的嘍,哦,也對!..亂語>
2.1.3 變數替換
定義:用變數的值替換它的名字.
查看方式:echo <通用本地,環境...>
可以用echo顯示可以單個變數的取值;
[root@server root]#str="this is example" #設置本地變數
[root@server root]#echo "can you see `echo $str`" #顯示
cat you see this is example #替換就到這了,不明白明再來
變數替換續
除了上面的這個方式以外還有五種哦;別急,一個一個來;-_-!<先說好,偶不是皮條>
格式 定義
${variable name} 顯示實際值到variable name 1

${variable name :+value} 如果設置了variable name,就把value顯示,
未設置則為空; 2
${variable name:-value} 如果設置了variable name,就顯示它,未設置就顯示
value<僅顯不存本地中>>; 3
${variable name:?value} 未設置提示用戶錯誤信息value; 4
${variable name:=value} 如未設置就把value設置並顯示<寫入本地中>, 5
變數清除:
unset <變數name>
[root@server root]#echo $name #變數 name是否存在?
Red Hat Linux #存在
[root@server root]#unset name #清除name變數
[root@server root]#echo $name #是否成功
#成功
注意:如果用readonly限制了只讀屬性就會失敗,還有怎麼從環境變數中去掉那個變數呢?還記的用哪個設定環境變數的嗎?對.export,只須在它後面加"-n"參數即可
2.1.4 位置變數
定義:位置變數表示$0,$1,$2,....$9
$0 $1 $2 $3 $4
腳本名 A B C D
向腳本中使用位置參數;
向系統命令傳遞參數;
例:./test<在程序中進行替換>
[root@server root]#vi /test #創建並編輯/test文件
#!/bin/bash
#test
echo "這是腳本的第一個名稱: $0"
echo "這是腳本的第二個位置參數: $1"
echo "這是腳本的第三個位置參數: $2"
echo "這是腳本的第四個位置參數: $3"
echo "這是腳本的第五個位置參數: $4"
[root@server root]#chmod u+x ./test #加執行許可權;
[root@server root]#./test A B C #加參數證驗
echo "這是腳本的第一個名稱: ./test
echo "這是腳本的第二個位置參數: A
echo "這是腳本的第三個位置參數: B
echo "這是腳本的第四個位置參數: C
echo "這是腳本的第五個位置參數:
<向系統命令中傳遞位置參數>
[root@server root]#vi test1.sh #新建一個腳本文件
#!/bin/bash
#name:test1.sh
#to call: test1.sh 755 #使用方式
find ~ -perm $1 -print
$2 #系統命令
[root@server root]#chmod u+c test1.sh
[root@server root]#./test1.sh 755 date #位置一為755,2位date
/dev/ip
/dev/iput
.
.
.
Fri May 13 2:31:54 CST 2006

2.1.5 標准變數:
bash默認建立一些環境變數就是標准變數,可以通俗的說就是不是你加的而是裝好機子帶的那些環境變數, 可在/etc/profile中進行定義,
命令 意義
HOME 用戶主目錄
IFS 默認分隔符
MAIL 郵箱地址
MAILCHECK 郵箱檢查間隔
PWD 用戶當前工作目錄
LOGNAME 當前用戶登錄名
2.1.6 特殊變數
命令 意義
$# 傳遞到腳本的參數列表
$? 前個命令執行情況,0成功,其它值失敗
$$ 腳本運行的當前進程號
$! 運行腳本最後一個命令
$* 顯示腳本全部參數
2.1.7 影響變數的命令
declare 設置或顯示變數
-f 只顯示函數名
-r 創建只讀變數
-x 創建轉出變數
-i 創建整數變數
使用"+"代替"-",可以顛倒選項的意思,-r除外,
export 用於傳遞給子shell的變數
-- 表明選項結束,所有後續參數都是實參,
-f 表明在"名-值"對中的名字是函數名,
-n 把全局變數轉換成局部變數,換句話就是不再傳給shell
-p 顯示全局變數列表,
shift
用於移動位置變數,調整位置變數,使$3的值賦給$2.$2的值賦予$1.

[root@server root]#vi /test
#!/bin/bash
#test
echo "這是腳本的第一個名稱: $0"
echo "這是腳本的第二個位置參數: $1"
echo "這是腳本的第三個位置參數: $2"
echo "這是腳本的第四個位置參數: $3"
echo "這是腳本的第五個位置參數: $4"
shift
echo "這是腳本的第二個位置參數: $1"
echo "這是腳本的第三個位置參數: $2"
[root@server root]#chmod u+x ./test
[root@server root]#./test A B C
echo "這是腳本的第一個名稱: ./test
echo "這是腳本的第二個位置參數: A
echo "這是腳本的第三個位置參數: B
echo "這是腳本的第四個位置參數: C
echo "這是腳本的第五個位置參數: $4"
shift #顯示的時候並沒有,加在此只會明了
echo "這是腳本的第二個位置參數: B
echo "這是腳本的第三個位置參數: C
給shfit加一個數試一下:
[root@server root]#vi ./test
#!/bin/bash
#test
echo "這是腳本的第一個名稱: $0"
echo "這是腳本的第二個位置參數: $1"
echo "這是腳本的第三個位置參數: $2"
echo "這是腳本的第四個位置參數: $3"
echo "這是腳本的第五個位置參數: $4"
shift 2
echo "這是腳本的第二個位置參數: $1"
echo "這是腳本的第三個位置參數: $2"
[root@server root]#./test A B C D
echo "這是腳本的第一個名稱: ./test
echo "這是腳本的第二個位置參數: A
echo "這是腳本的第三個位置參數: B
echo "這是腳本的第四個位置參數: C
echo "這是腳本的第五個位置參數: D
shift 2 #顯示的時候並沒有,加在此只會明了
echo "這是腳本的第二個位置參數: C
echo "這是腳本的第三個位置參數: D

第二節 引號
2.1 引號的必要性
2.2 雙引號有什麼作用
2.3 單引號的作用
2.4 反引號的作用
2.5 反斜杠的作用

⑸ linux用戶在Shell中創建變數

你這幾個問題歸納起來就3點:

1、申明一個環境變數,直接在命令行輸入
MYVAR=abcde #聲明一個變數MYVAR,值為abcde

2、export一個環境變數,光申明了不能用,必須export一下
export MYVAR

3、查看該變數
echo ${MYVAR}

⑹ 在Linux9.0中Shell提供變數來設置環境參數和保存shell信息。變數根據不同的作用可以分為哪四種變數設

1)、四種變數分別為:本地變數、環境變數、位置參數變數和預定義變數。
2)、變數=${參數變數:=woed}表示如果設置了參數變數,則用參數變數的值置換變數的值,否則把變數設置成word,然後再用word替換參數的值。如B=${C:=word}中,如果設置了C=good, word=bad時,則B=good; 如果C沒有設置,word=bad,則B=bad,同時把B也設成bad。
3)、$# 表示傳遞到腳本的參數的數量
$! 表示後台運行的最後一個進程號
$0 表示當前執行的進程名
還有不會的請參考《linux就該這么學》,針對各種linux疑難雜症,幫助linux學習者。

⑺ LINUX中的SHELL變數是什麼意思

1.建立和運行shell程序
什麼是shell程序呢? 簡單的說shell程序就是一個包含若干行
shell或者linux命令的文件.
象編寫高級語言的程序一樣,編寫一個shell程序需要一個文本編輯器.如VI等.
在文本編輯環境下,依據shell的語法規則,輸入一些shell/linux命令行,形成一個完整
的程序文件.
執行shell程序文件有三種方法
(1)#chmod +x file(在/etc/profile中,加入export PATH=${PATH}:~/yourpath,就可以在命令行下直接運行,像執行普通命令一樣)
(2)#sh file
(3)# . file
(4)#source file
在編寫shell時,第一行一定要指明系統需要那種shell解釋你的shell程序,如:#! /bin/bash,
#! /bin/csh,/bin/tcsh,還是#! /bin/pdksh .
2.shell中的變數
(1)常用系統變數
$ # :保存程序命令行參數的數目
$ ? :保存前一個命令的返回碼
$ 0 :保存程序名
$ * :以("$1 $2...")的形式保存所有輸入的命令行參數
$ @ :以("$1""$2"...)的形式保存所有輸入的命令行參數
(2)定義變數
shell語言是非類型的解釋型語言,不象用C++/JAVA語言編程時需要事先聲明變數.給一
個變數賦值,實際上就是定義了變數.
在linux支持的所有shell中,都可以用賦值符號(=)為變數賦值.
如:
abc=9 (bash/pdksh不能在等號兩側留下空格 )
set abc = 9 (tcsh/csh)
由於shell程序的變數是無類型的,所以用戶可以使用同一個變數時而存放字元時而存放
整數.
如:
name=abc (bash/pdksh)
set name = abc (tcsh)
在變數賦值之後,只需在變數前面加一個$去引用.
如:
echo $abc
(3)位置變數
當運行一個支持多個命令行參數的shell程序時,這些變數的值將分別存放在位置變數里.
其中第一個參數存放在位置變數1,第二個參數存放在位置變數2,依次類推...,shell保留
這些變數,不允許用戶以令外的方式定義他們.同別的變數,用$符號引用他們.

3.shell中引號的使用方法
shell使用引號(單引號/雙引號)和反斜線("\")用於向shell解釋器屏蔽一些特殊字元.
反引號(")對shell則有特殊意義.
如:
abc="how are you" (bash/pdksh)
set abc = "how are you" (tcsh)
這個命令行把三個單片語成的字元串how are you作為一個整體賦值給變數abc.
abc1='@LOGNAME,how are you!' (bash/pdksh)
set abc1='$LOGNAME,how are you!' (tcsh)
abc2="$LOGNAME,how are you!" (bash/pdksh)
set abc2="$LOGNAME,how are you!" (tcsh)
LOGNAME變數是保存當前用戶名的shell變數,假設他的當前值是:wang.執行完兩條命令後,
abc1的內容是:$LOGNAME, how are you!.而abc2的內容是;wang, how are you!.
象單引號一樣,反斜線也能屏蔽所有特殊字元.但是他一次只能屏蔽一個字元.而不能屏蔽
一組字元.
反引號的功能不同於以上的三種符號.他不具有屏蔽特殊字元的功能.但是可以通過他將
一個命令的運行結果傳遞給另外一個命令.
如:
contents=`ls` (bash/pdksh)
set contents = `ls` (tcsh)
4.shell程序中的test命令
在bash/pdksh中,命令test用於計算一個條件表達式的值.他們經常在條件語句和循環
語句中被用來判斷某些條件是否滿足.
test命令的語法格式:
test expression
或者
[expression]

在test命令中,可以使用很多shell的內部操作符.這些操作符介紹如下:
(1)字元串操作符 用於計算字元串表達式
test命令 | 含義
-----------------------------------------
Str1 = str2 | 當str1與str2相同時,返回True
Str1! = str2| 當str1與str2不同時,返回True
Str | 當str不是空字元時,返回True
-n str | 當str的長度大於0時,返回True
-z str | 當str的長度是0時,返回True
-----------------------------------------
(2)整數操作符具有和字元操作符類似的功能.只是他們的操作是針對整數
test表達式 | 含義
---------------------------------------------
Int1 -eq int2|當int1等於int2時,返回True
Int1 -ge int2|當int1大於/等於int2時,返回True
Int1 -le int2|當int1小於/等於int2時,返回True
Int1 -gt int2|當int1大於int2時,返回True
Int1 -ne int2|當int1不等於int2時,返回True
-----------------------------------------
(3)用於文件操作的操作符,他們能檢查:文件是否存在,文件類型等
test表達式 | 含義
------------------------------------------------
-d file |當file是一個目錄時,返回 True
-f file |當file是一個普通文件時,返回 True
-r file |當file是一個刻讀文件時,返回 True
-s file |當file文件長度大於0時,返回 True
-w file |當file是一個可寫文件時,返回 True
-x file |當file是一個可執行文件時,返回 True
------------------------------------------------
(4)shell的邏輯操作符用於修飾/連接包含整數,字元串,文件操作符的表達式
test表達式 | 含義
----------------------------------------------------------
! expr |當expr的值是False時,返回True
Expr1 -a expr2|當expr1,expr2值同為True時,返回True
Expr1 -o expr2|當expr1,expr2的值至少有一個為True時,返回True
-----------------------------------------------------------
注意:
tcsh shell 不使用test命令,但是tcsh中的表達式同樣能承擔相同的功能.tcsh
支持的表達式於C中的表達式相同.通常使用在if和while命令中.
tcsh表達式 | 含義
-------------------------------------------------------
Int1 <= int2 |當int1小於/等於int2時,返回True
Int1 >= int2 |當int1大於/等於int2時,返回True
Int1 < int2 |當int1小於int2時,返回True
Int1 > int2 |當int1大於int2時,返回True
Str1 == str2 |當str1與str2相同時,返回True
Str1 != str2 |當str1與str2不同時,返回True
-r file |當file是一個可讀文件時,返回True
-w file |當file是一個可寫文件時,返回True
-x file |當file是一個可執行文件時,返回True
-e file |當file存在時,返回True
-o file |當file文件的所有者是當前用戶時,返回True
-z file |當file長度為0時,返回True
-f file |當file是一個普通文件時,返回True
-d file |當file是一個目錄時,返回True
Exp1 || exp2 |當exp1和exp2的值至少一個為True時,返回True
Exp1 && exp2 |當exp1和exp2的值同為True時,返回True
! exp |當exp的值為False時,返回True

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

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

⑼ 菜鳥求助linux shell 變數設置,看不懂.

BASH_N="$BASH_N`grep '/bin/bash' /etc/passwd | head -$i | tail -1 | cut -d: -f1`,"
BASH_N你就理解成一個字元串變數,每一次循環,在後面append上一個用戶名
比如在etc/password里登記的用戶,使用/bin/bash作為shell的用戶有root , binzai , a1 , a2 , a5 , ay12 , user1這么幾個人,則每次循環後BASH_N的變化如下:
啥也沒有
root
root,binzai
root,binzai,a1
......
你後面的之所以每一行都有回車,是因為使用了echo,echo會自動加一個回車.

⑽ 如何設置linux shell環境變數

不是這個概念的。
1,如果你只是想設置一個變數,沒有必要在profile裡面設置。
a=123
echo
"$a"就可以了
2,如果你是想設置環境變數(路徑),在profile或者.bashrc中
a=/dir
PATH=$PATH:$a
export
PATH
這就加入一個/dir目錄。

閱讀全文

與linuxshell定義變數相關的資料

熱點內容
自己購買雲主伺服器推薦 瀏覽:422
個人所得稅java 瀏覽:761
多餘的伺服器滑道還有什麼用 瀏覽:192
pdf劈開合並 瀏覽:28
不能修改的pdf 瀏覽:752
同城公眾源碼 瀏覽:489
一個伺服器2個埠怎麼映射 瀏覽:298
java字元串ascii碼 瀏覽:79
台灣雲伺服器怎麼租伺服器 瀏覽:475
旅遊手機網站源碼 瀏覽:332
android關聯表 瀏覽:946
安卓導航無聲音怎麼維修 瀏覽:333
app怎麼裝視頻 瀏覽:431
安卓系統下的軟體怎麼移到桌面 瀏覽:96
windows拷貝到linux 瀏覽:772
mdr軟體解壓和別人不一樣 瀏覽:904
單片機串列通信有什麼好處 瀏覽:340
游戲開發程序員書籍 瀏覽:860
pdf中圖片修改 瀏覽:288
匯編編譯後 瀏覽:491