變數,環境變數,PATH變數

2022-08-17 17:39:20 字數 3117 閱讀 3777

# 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...