1. 程式人生 > >環境變量

環境變量

linux 環境變量

要想學會Linux中的shell腳本,掌握環境變量尤為重要。下面跟大家分享下環境變量相關知識。


環境變量
常量 可以賦值給變量的任何字符串
變量 字符串 不能以數字開頭,只能由數字,字母和下劃線組成,可以接受賦值的字符串

如何自定義變量?
A=10

如何查看變量的值?
echo $A

取消變量
unset A

查看所有變量
set
set | grep HOSTNAME

查看環境變量
env
env | grep HOSTNAME

創建環境變量
USER 用戶名
HOSTNAME 主機名
PWD 工作目錄
PS1 一級提示符 PS1=hello
PS2 二級提示符 PS2=@ cat > a.txt << ok

HISTSIZE 歷史記錄
LANG 語言
UID uid
PATH

echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin

PATH=$PATH:/usr/local/apache/bin/

存放命令文件的目錄 凡是在PATH路徑下的命令可以在任何路徑下執行


自定義變量 A=10
環境變量 export A 把自定義變量轉換為環境變量

export A=10 直接設置環境變量

預定義變量
$# 位置參數的個數
$* 位置參數本身
$? 返回腳本或命令的執行狀態 0為真 非0為假
$!

[[email protected] tmp]# cat a.sh
#!/bin/bash
echo 第一個位置次數為:$1
echo 第二個位置次數為:$2
echo 第三個位置次數為:$3
echo 第四個位置次數為:$4
echo $#
echo $*

./a.sh a b c d

a b c d 叫做位置參數 $n
$1 第一個位置參數 =a
$2 第二個位置參數 =b
$3 第三個位置參數 =c


位置變量
$1 $2 ...

循環控制
判斷

shell基本功能
命令解釋器 負責人機交互

shell分類
bash是redhat主流默認的shell

unix ---sh

cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh

bash的特點:
1.支持歷史記錄
history 查看歷史記錄



歷史命令
!38 直接執行第38條記錄
!$ 上面操作的最有一個參數
alt. 上面操作的最有一個參數
ctrl+r

設置歷史記錄的條數
cat /etc/profile
HISTORY=1000

2.支持快捷鍵
ctrl +a 行首
+e 行尾
+u 往光標前刪除
+k 刪除光標後的包含光標

3.支持定義環境變量
/etc/bashrc
/etc/profile
~/.bashrc
~/.bash_profile

作用範圍上:
/etc/下的針對所有用戶有效
~/針對具體用戶有效

非登錄shell(無用戶認證)
/etc/bashrc
~/.bashrc

登錄shell(需要用戶認證)
讀取四個配置文件

vim /etc/bashrc
useradd user1

vim ~/.bashrc
useradd user2

/etc/profile
useradd user3

vim ~/.bash_profile
useradd user4

4.別名

查看
alias

設置
alias disk="df -h"

取消
unalias disk


命令表達式
“” 弱引用 (如果有變量的化可以取出變量的值)
cat a.sh
echo "中國人民歡迎您"


‘’ 強引用 有特殊變也不取值

`` `date +%F` 返回命令執行的結果

\ 轉意符 還原為字符本身 fi\\e ---》fi\e

; 當一行執行多條命令的時候有;分隔
ls /home/ ;cat /etc/yum.conf

||
A||B 當前面A執行的結果為假的時候才執行後面的B

&
make & make install 兩條命令一起執行 make成功後才可以make install


1.統計磁盤的使用率為:

2.當前登錄的用戶是:

3.本機的ip地址為:

4.當前的日期為:

5.當前的系統賬戶有幾個?

6.當前系統的主機名為:


test

for
for (a=1;a<=10;a++){
command
command
for (a=1;a<=10;a++){
command
command
}
}

for i in {1..10}
for i in 1 2 3 4 5 6 7 8 9 10
for i in `seq 1 10 `
for i in $(seq 1 10)

批量添加用戶





環境變量