# star=liudehua 定義變數star賦值為liudehua
# echo $star $符號接變數名就是引用這個變數的值
liudehua
變數的型別:
定義變數:
variable
為什麼要使用變數?
答:方面使用,方便修改值
path 是linux系統裡的乙個環境變數,系統已經定義好了,我們不需要再定義。
作用:
是linux裡使用的命令都存在在path變數後面指定的目錄下,我們使用命令的時候,bash會主動的到path變數的值對應的目錄下查詢,如果第1個目錄裡沒有找到,就到第2個目錄裡找,如果都沒有找到就報錯,提醒使用者沒有這個命令,如果找到了,就執行這個命令。
# echo $path
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
如何理解環境變數?
將linux系統比喻成乙個社會,裡面的一些公共資源,例如空氣、水、公交車、地鐵、美食等都是變數,大家都使用。
環境變數也全域性變數,所有的程式都可以呼叫。
系統裡已經定義了,我們不需要自定義。
alias
unalias
unset 取消變數
# unset star 取消變數star
set
env --->environment
有那些環境變數:
# echo $ps1 定義了我們的提示符號的變數
[\u@\h\w]
\$
使用者名稱、主機名、ps1、shell、path
\u user
\h hostname
\w working directory
su
-lifeng--
》完全切換到新使用者
sulifeng--
》會保留一些上次使用時的環境變數
$ env -----》檢視有哪些環境變數
hostname=teacher.sxkeji.com
shell=/bin/bash
term=xterm
histsize=1000
pt5home=/usr/local/packettracer5
qtdir=/usr/lib/qt-3.3
qtinc=/usr/lib/qt-3.3/include
user=lifeng
mail=/var/spool/mail/lifeng
path=/usr/lib/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/lifeng/bin
pwd=/home/lifeng
lang=en_us.utf-8
ssh_askpass=/usr/libexec/openssh/gnome-ssh-askpass
histcontrol=ignoredups
shlvl=1
home=/home/lifeng
logname=lifeng
qtlib=/usr/lib/qt-3.3/lib
cvs_rsh=ssh
lessopen=|/usr/bin/lesspipe.sh %s
display=:6.0
g_broken_filenames=1
_=/bin/env
驗證:查詢命令的時候是否真的到path變數指定的目錄下去查詢?
1.新建hello.sh指令碼檔案
# vim hello.sh
#!/bin/bash
echo "hello,world"
# chmod +x hello.sh 授予hello.sh可執行許可權 (execute)
# ll hello.sh
-rwxr-xr-x 1 root root 32
12月 5
09:36 hello.sh
方法一:
2.複製hello.sh到path變數指定的某個目錄下
# cp hello.sh /usr/local/sbin/ 複製到此目錄下
# which hello.sh 可以查詢到
/usr/local/sbin/hello.sh
# hello.sh 直接執行
hello,world
方法二:
此方式修改的path變數,臨時有效,重啟系統後失效。
修改path變數的值,新增/lianxi路徑
修改path變數的值,讓系統到我新增的目錄下查詢,就可以了
# path=$path:/lianxi
# echo $path
# ll hello.sh
-rwxr-xr-x 1 root root 32
12月 5
09:36 hello.sh
# chmod +x hello.sh 授予可執行許可權
# chmod -x hello.sh 取消可執行許可權
自己建立的指令碼檔案,放到path變數指定的路徑裡,並且授予其可執行許可權,就可以執行執行;
修改path變數的值,新增相關的目錄,但是指令碼還是要具有可執行許可權。
# vim /root/.bash_profile
path=$path
:$home/bin:/lianxi --->新增:/lianxi
export path ----》輸出path變數為全域性變數(環境變數)
path=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
直接定義path變數的值
PATH環境變數
path的值是一系列目錄,當您執行乙個程式時,linux在這些目錄下進行搜尋。用以下命令可以看到path的值。echo path 例如,在主機中,使用者yogin的path值為 opt kde bin usr local bin bin usr bin usr x11r6 bin home yogi...
PATH環境 變數
home bash profile和 etc profile 兩個檔案在登陸使用者的時候會執行,etc profile 所有使用者都執行,home bash profile為當前使用者執行 如何修改環境變數?profile 裡面有例子 path path home bin 如果你要把某個目錄加到pa...
PATH環境 變數
home bash profile和 etc profile 兩個檔案在登陸使用者的時候會執行,etc profile 所有使用者都執行,home bash profile為當前使用者執行 如何修改環境變數?profile 裡面有例子 path path home bin 如果你要把某個目錄加到pa...