1. 程式人生 > >環境變量、全局變量、位置變量、重定向

環境變量、全局變量、位置變量、重定向

設置 啟動網卡 操作 image 配置文件 network width $2 使用

設置變量的作用範圍

格式1export 變量名 ...

格式2export 變量名=變量值 ... —— 兩種格式可以混合使用

export 查看全局變量

技術分享圖片

更改環境變量 PATH

[[email protected] ~]# echo $PATH

/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

/etc/procfile 中添加需要更改添加的PATH

 Export PATH=/root/yj:$PATH

重啟電腦 shutdown -r now

檢查PATH狀態是否添加成功

echo  $PATH

若添加成功,你的shell就可以直接拿指令,當命令來使!

修改登錄後名稱:liu

需要修改 修改/etc/sysconfig/network 重新啟動網卡

查看全局變量

set命令可以查看所有的Shell變量,其中包括全局變量(是由父進程繼承給子進程)

env命令只查看全局變量

技術分享圖片

環境變量:

由系統提前創建,用來設置用戶的工作環境

配置文件: /etc/profile~/.bash_profile

常見的環境變量:

PWDPATH

USER(用戶名) 、

LOGNAME(用戶名)、

UID(用戶的ID)、

PPID(父進程ID)、

SHELL(當前默認使用的shell)、

HOME(用戶家目錄)

PS1(指定[[email protected] ~]#)、$PS2(命令行的續行符號)

技術分享圖片

位置變量

表示為 $nn1~9之間的數字

大於9的位置參數要用{},例如${10}

技術分享圖片

預定義變量

$#命令行中位置變量的個數;

$*所有位置變量的內容(較少使用);

[email protected]所有位置變量的內容;

$0當前執行的進程/程序名;

$$ 當前shellPID

, echo $$ps $$, 常用作臨時變量的後綴;

$?上一條命令執行後返回的狀態;

//命令狀態返回值,不是標準輸出的,是用來判斷命令是否執行成功的。。

//如果命令狀態返回值是0,說明命令執行成功;如果非0,說明執行出錯或異常。

//通過$?可以獲取狀態值(獲取得是上一條命令的狀態值)。

參數處理

說明

$#

傳遞到腳本的參數個數

$*

以一個單字符串顯示所有向腳本傳遞的參數。

"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有參數。

$$

腳本運行的當前進程ID

$!

後臺運行的最後一個進程的ID

[email protected]

$*相同,但是使用時加引號,並在引號中返回每個參數。

"[email protected]"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有參數。

$-

顯示Shell使用的當前選項,與set命令功能相同。

$?

顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。

$RANDOM

隨機數,可以作為臨時文件名; 隨機數範圍 0-32767

技術分享圖片

返回值判斷

有條件運行多個命令

cmd1 && cmd2 //cmd1成功了(返回值為0)才會運行cmd2

cmd1 || cmd2 //cmd1失敗了(返回值為非0)才會運行cmd2

技術分享圖片

技術分享圖片

UNIX時間戳:

UNIX時間戳從1970-1-1 0:0:0 到某個時間點的秒數

[[email protected] ~]# date +%s

1547214687

Bash的重定向操作

改變標準輸入、標準輸出、標準錯誤的方向

類型

操作符

用途

重定向標準輸入

<

將命令中接收輸入的途徑由默認的鍵盤更改為指定的文件

重定向標準輸出

>

將命令的執行結果輸出到指定的文件中,而不是直接顯示在屏幕上

>>

將命令執行的結果追加輸出到指定文件

重定向標準錯誤

2>

清空指定文件的內容,並將標準錯誤信息保存到該文件中

2>>

將標準錯誤信息追加輸出到指定的文件中

重定向標準輸出和

標準錯誤

&>

將標準輸出、標準錯誤的內容全部保存到指定的文件中,而不是直接顯示在屏幕上

&>>

Bash4.0以上才支持,rhel5不支持

Here Document

<<

命令序列傳遞到一個交互程序或者命令中

命令

說明

command > file

將輸出重定向到 file

command < file

將輸入重定向到 file

command >> file

將輸出以追加的方式重定向到 file

n > file

將文件描述符為 n 的文件重定向到 file

n >> file

將文件描述符為 n 的文件以追加的方式重定向到 file

n >& m

將輸出文件 m n 合並。

n <& m

將輸入文件 m n 合並。

<< tag

將開始標記 tag 和結束標記 tag 之間的內容作為輸入。

Here Documet用法: 傳遞命令序列到程序

技術分享圖片

環境變量、全局變量、位置變量、重定向