bash 變數傳遞方法

2022-06-12 16:51:11 字數 2842 閱讀 5122

###1.sh    ##(該sh 目的是 將變數env傳入env.sh, 同時讓env.sh在當前事物生效,最後執行env.sh 定義的變數envs)

export env=prepare

echo $env

. env.sh

echo $envs

###env.sh

#!/bin/bash

# config all schema env in this file

echo $env

case $env in

rollout)

# uat

export nls_lang=american_america.utf8

export envs=/dbuatdb/change/env/env_dbuat_uat.sql

export schema_home=/dbuatdb/change/schema/2016_10_11_2016.2

export schema_home_70600=$schema_home/rel-007-06-000/db/schema_changes/db/rollout

export schema_home_70605=$schema_home/rel-007-06-005/db/schema_changes/db/rollout

# prod

#export nls_lang=american_america.utf8

#export envs=/dbproddb/change/env/env_dbprod.sql

#export schema_home=/dbproddb/change/schema/2016_05_10_2016.2

#export schema_home_70400=$schema_home/rel-007-04-000/db/schema_changes/db/rollout

#export schema_home_70500=$schema_home/rel-007-05-000/db/schema_changes/db/rollout

echo r

;; prepare)

# uat

export nls_lang=american_america.utf8

export envs=/dbuatdb/change/env/env_dbuat_uat.sql

export schema_home=/dbuatdb/change/schema/2016_10_11_2016.2

export schema_home_70600=$schema_home/rel-007-06-000/db/schema_changes/db/prepare

export schema_home_70605=$schema_home/rel-007-06-005/db/schema_changes/db/prepare

# prod

#export nls_lang=american_america.utf8

#export envs=/dbproddb/change/env/env_dbprod.sql

#export schema_home=/dbproddb/change/schema/2016_05_10_2016.2

#export schema_home_70400=$schema_home/rel-007-04-000/db/schema_changes/db/prepare

#export schema_home_70500=$schema_home/rel-007-05-000/db/schema_changes/db/prepare

echo p

;;regress)

# uat

export nls_lang=american_america.utf8

export envs=/dbuatdb/change/env/env_dbuat_uat.sql

export schema_home=/dbuatdb/change/schema/2016_05_10_2016.2

export schema_home_70400=$schema_home/rel-007-04-000/db/schema_changes/db/regress

export schema_home_70500=$schema_home/rel-007-05-000/db/schema_changes/db/regress

# prod

#export nls_lang=american_america.utf8

#export envs=/dbproddb/change/env/env_dbprod.sql

#export schema_home=/dbproddb/change/schema/2016_05_10_2016.2

#export schema_home_70400=$schema_home/rel-007-04-000/db/schema_changes/db/regress

#export schema_home_70500=$schema_home/rel-007-05-000/db/schema_changes/db/regress

echo re

;;*) echo 'please use right option'

;;esac

faq1.

source命令:

source命令也稱為「點命令」,也就是乙個點符號(.)。source命令通常用於重新執行剛修改的初始化檔案,使之立即生效,而不必登出並重新登入。

用法: 

source filename 或 . filename

source命令除了上述的用途之外,還有乙個另外乙個用途。在對編譯系統核心時常常需要輸入一長串的命令,如

2.3.

Bash變數相關

變數名 只能包含字母 數字和下劃線 bash中變數類別 本地變數 作用範圍僅限當前源程式檔案,僅對當前shell程序有效,對子shell無效 環境變數 作用範圍是當前shell及其子shell 特殊變數 表示上乙個命令的執行狀態返回值 表示引數的個數 表示引數列表 表示引數列表 位置變數 1,2,變...

awk怎樣自定義變數以及常用bash傳遞的變數

linux伺服器管理 bash指令碼編寫過程中經常用到awk進行資料分析,awk變數使用過程中又經常因為出現歧義或者定義不規範,導致無法得到預期的結果。本文用最簡潔的例子說明awk變數如何正確的定義和使用。1在awk中自定義變數 通過 v引數便可以自定義變數傳遞給awk使用,如果是begin中呼叫的...

python變數傳遞 python變數傳遞

python變數傳遞 數值 num 1 123 num 2 num 1 改變num 2值前 print num 1 num 2 format num 1,num 2 num 2 0 改變num 2值後 print num 1 num 2 format num 1,num 2 輸出num 1 123,...