變數的分類(臨時(本地)變數、環境變數、全域性變數和系統變數)
1、臨時變數
當前使用者自定義的變數,只在當前程式中有效。其他程式及當前程式的子程式無效。
(1)定義方式
- 基本方式:變數名=變數值
[root@server1 shells]# a=4
[root@server1 shells]# echo $a
4
- 命令執行結果輸入給變數:變數名=`執行的命令``
[root@server1 shells]# name=`hostname`
[root@server1 shells]# echo $name
server1
[root@server1 shells]# name=$(hostname)
[root@server1 shells]# echo $name
server1
[root@server1 shells]# name="$(hostname)"
[root@server1 shells]# echo $name
server1
[root@server1 shells]# a=`uname -r`
[root@server1 shells]# echo $a
3.10.0-862.el7.x86_64
- 互動式定義變數read
通過文字輸入
[root@server1 shells]# vim ip.txt
[root@server1 shells]# read -p "input ip:" IP < ip.txt
[root@server1 shells]# echo $IP
192.168.13.125
通過使用者自定義
[root@server1 shells]# read -s -p "passwd:" mima
passwd:
[root@server1 shells]# echo $mima
westos
(2)證實
因為兩個終端分別分配了不同的PID,也就是不同的程式:
兩個不同的使用者呢?
2、環境變數(針對當前使用者生效)
(1)如何定義一個環境變數
-
如果這個變數是一個已經被定義好的臨時變數,利用export 變數名,就可以將該變數改為環境變數。
-
或者直接export 變數名=變數值
(2)實證
[kiosk@server1 shells]$ export name=kongying
[kiosk@server1 shells]$ env |grep name
name=kongying
[kiosk@server1 shells]$ /bin/bash //開啟另一個子程式bash
[kiosk@server1 shells]$ ps //檢視程式
PID TTY TIME CMD
5169 pts/0 00:00:00 bash
10541 pts/0 00:00:00 bash
10584 pts/0 00:00:00 ps
[kiosk@server1 shells]$ env |grep name
name=kongying //也就是說,環境變數共享於同一程式與其子程式之間
如果不同使用者呢?
也是不共享的,因為:
3、全域性變數(/etc/profile)
(1)什麼是全域性變數?
(2)相關配置檔案
/etc/bashrc:
定義命令的別名、umask、函式
[kiosk@server1 shells]$ vim /etc/profile
(3)系統登陸讀取相關檔案順序:
4、系統變數
[kiosk@server1 shells]$ ldvv
bash: ldvv: command not found...
[kiosk@server1 shells]$ echo $?
127
[kiosk@server1 shells]$vim ll
[kiosk@server1 shells]$ echo $?
0
[kiosk@server1 shells]$ echo $0
/bin/bash
相關文章
- 成員變數、全域性變數、例項變數、類變數、靜態變數和區域性變數的區別變數
- 簡述SHELL全域性環境變數與局變環境變數變數
- linux基礎——shell變數(本地變數和環境變數)Linux變數
- 靜態全域性變數和全域性變數變數
- shell全域性(系統)環境變數變數
- 區域性變數和全域性變數變數
- 介面測試實戰--postman全域性變數和環境變數Postman變數
- java 全域性變數和區域性變數Java變數
- JavaScript —— 區域性變數和全域性變數JavaScript變數
- jmeter全域性變數和區域性變數JMeter變數
- iOS 靜變數static、全域性變數extern、區域性變數、例項變數iOS變數
- 全域性變數與區域性變數變數
- C語言區域性變數、全域性變數、靜態區域性變數、靜態全域性變數C語言變數
- 全域性變數和靜態變數的區別變數
- mac配置全域性環境變數Mac變數
- npm 全域性環境變數配置NPM變數
- 全域性變數變數
- Java區域性變數與全域性變數Java變數
- 【c】全域性變數與區域性變數變數
- python全域性變數和區域性變數, globalPython變數
- Python中的全域性變數和區域性變數Python變數
- js-js的全域性變數和區域性變數JS變數
- ODI第9節-變數(三):全域性變數變數
- python全域性變數與區域性變數Python變數
- Linux 新增環境變數和刪除環境變數Linux變數
- javascript中的作用域(全域性變數和區域性變數)JavaScript變數
- Python的區域性變數和全域性變數使用解惑Python變數
- angular中定義全域性變數及全域性變數的使用Angular變數
- 環境變數變數
- oracle中的全域性環境變數配置Oracle變數
- 全域性 DOM 變數變數
- lua全域性變數變數
- JavaScript五:全域性變數&區域性變數;運算子JavaScript變數
- Linux中修改環境變數及生效方法(永久、臨時)環境變數檢視Linux變數
- 十二、變數作用域:區域性變數、全域性變數,函式版名片管理系統—新增函式文件變數函式
- Python中類變數、成員變數、區域性變數的區別Python變數
- 成員變數和區域性變數變數
- 不使用臨時變數交換兩個變數的值變數