『壹』 shell腳本sed命令如何使用變數替換掉包含指定字元串的整行
#先將包含指定字元串的整行列印到變數tmp
tmp=$(sed -n '/${zip}/p' 文本名)
#然後將文本中這一整行字元串替換為你想要修改的字元串
sed -i 's/${tmp}/${zip}/g' 文本名
『貳』 如何在shell腳本中使用變數
1、linux shell中的變數一般定義格式為:var=value。其中var是變數名稱,=是賦值,value是給變數賦的值。比如下面的變數定義。
a=12;
b="helloworld"
2、注意變數名稱的第一個字元不可以是數字,但是可以是下劃線。如下示例則為非法的變數名。
3、要使用變數的值,在變數前面加上$符號即可。比如下面的示例:
123=123//這是錯誤的變數名稱
_123=123//這是合法的。
『叄』 如何在shell腳本中使用變數
在網路中 搜索 linux 系統中使用變數 關鍵詞 ,有問題網路。 下面是我查的示例。
顯示環境變數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用戶是#,對於普通用戶是$
『肆』 如何在shell腳本中使用變數
首先定義變數,然後使用變數
假設你定義了
VAR=5
然後你就可以使用這個VAR變數了
echo $VAR
顯示的就是5
具體可以看下這個
http://www.360doc.com/content/14/0918/12/9075092_410412465.shtml
『伍』 如何在shell腳本中使用變數
shell腳本可以使用環境變數與自定義變數
當前的環境變數有哪些可以用env命令查看,
可在腳本中引用,例如 echo $HOME 而自定義變數可以再shell腳本中直接聲明和賦值,例如 var1=1 var1=$var1+1 echo $var1 其結果是 1+1