test 使用Bash在Linux中設置環境變量




source linux (4)

export VAR=value將VAR設置為value。 如果你想要空格,請用單引號括起來,比如export VAR='my val' 。 如果要插入變量,請使用雙引號,例如export VAR="$MY_OTHER_VAR"

tcsh ,我有以下腳本工作:

#!/bin/tcsh
setenv X_ROOT /some/specified/path

setenv XDB    ${X_ROOT}/db
setenv PATH   ${X_ROOT}/bin:${PATH}

xrun -d xdb1 -i $1 > $2

什麼是Bas​​h中的tcsh setenv函數?

有直接模擬嗎? 環境變量用於查找可執行文件。


在Linux上使用Bash設置本地和環境變量

檢查Bash中名為LOL的變量的本地變量或環境變量:

[email protected] /home/el $ set | grep LOL
[email protected] /home/el $
[email protected] /home/el $ env | grep LOL
[email protected] /home/el $

完整性檢查,沒有稱為LOL的本地或環境變量。

在本地設置一個名為LOL的局部變量,但不在環境中設置。 所以設置它:

[email protected] /home/el $ LOL="so wow much code"
[email protected] /home/el $ set | grep LOL
LOL='so wow much code'
[email protected] /home/el $ env | grep LOL
[email protected] /home/el $

變量'LOL'存在於局部變量中,但不存在於環境變量中。 如果重新啟動終端,註銷/登錄或運行exec bash ,LOL將消失。

設置局部變量,然後清除Bash中的所有局部變量

[email protected] /home/el $ LOL="so wow much code"
[email protected] /home/el $ set | grep LOL
LOL='so wow much code'
[email protected] /home/el $ exec bash
[email protected] /home/el $ set | grep LOL
[email protected] /home/el $

您也可以取消設置一個變量:

[email protected] /home/el $ LOL="so wow much code"
[email protected] /home/el $ set | grep LOL
LOL='so wow much code'
[email protected] /home/el $ unset LOL
[email protected] /home/el $ set | grep LOL
[email protected] /home/el $

局部變量LOL消失了。

將局部變量提升為環境變量:

[email protected] /home/el $ DOGE="such variable"
[email protected] /home/el $ export DOGE
[email protected] /home/el $ set | grep DOGE
DOGE='such variable'
[email protected] /home/el $ env | grep DOGE
DOGE=such variable

請注意,導出使其顯示為局部變量和環境變量。

導出的變量DOGE在Bash重置後仍然存在:

[email protected] /home/el $ exec bash
[email protected] /home/el $ env | grep DOGE
DOGE=such variable
[email protected] /home/el $ set | grep DOGE
DOGE='such variable'

取消設置所有環境變量:

您必須拔出一罐Chuck Norris來重置所有環境變量而無需註銷/登錄:

[email protected] /home/el $ export CAN="chuck norris"
[email protected] /home/el $ env | grep CAN
CAN=chuck norris
[email protected] /home/el $ set | grep CAN
CAN='chuck norris'
[email protected] /home/el $ env -i bash
[email protected] /home/el $ set | grep CAN
[email protected] /home/el $ env | grep CAN

您創建了一個環境變量,然後重置終端以擺脫它們。

或者您可以手動設置和取消設置環境變量,如下所示:

[email protected] /home/el $ export FOO="bar"
[email protected] /home/el $ env | grep FOO
FOO=bar
[email protected] /home/el $ unset FOO
[email protected] /home/el $ env | grep FOO
[email protected] /home/el $

我認為你正在尋找export - 雖然我可能是錯的..我以前從未玩過tcsh。 使用以下語法:

export VARIABLE=value

人們經常建議寫作的原因

VAR=value
export VAR

而不是更短

export VAR=value

更長的形式適用於比短形式更多不同的殼。 如果你知道你正在處理bash ,當然要么工作正常。





shell