Bash
Cygwin,bash,更改環境變數?
我已經在我的機器(Windows 8.1)上設置了一個 Cygwin 環境。
pol@pol-lap1 ~/Downloads/software/database/firebird/Firebird-2.5.4.26856-0
$ `set | grep unknown` BASH_VERSINFO=([0]="4" [1]="3" [2]="33" [3]="1" [4]="release" [5]="x86_64-unknown-cygwin") echo "bash: $FUNCNAME(): \`${!OPTIND}': unknown argument" 1>&2; 194,10xCelsius 194,unknown 198,offlinescanuncsectorct \
但是,當我這樣做時
env | grep -i unknown
,什麼都沒有返回。pol@pol-lap1 ~/Downloads/software/database/firebird/Firebird-2.5.4.26856-0 $ env | grep -i unknown pol@pol-lap1 ~/Downloads/software/database/firebird/Firebird-2.5.4.26856-0
注意,環境變數的值為 4
pol@pol-lap1 ~/Downloads/software/database/firebird $ echo $BASH_VERSINFO 4
現在,我想做的是更改 $BASH_VERSINFO 的值
$$ 5 $$到 x86_64-redhat-linux-gnu 以“欺騙”系統編譯我想要的程序。 我試過了
export BASH_VERSINFO[5]=x86_64-redhat-linux-info
,但這並沒有改變。也許我不完全理解Linux 中的
set
和命令之間的區別。env
為什麼我用 set 和 env 得到不同的值?如果有人能對這些問題有所了解並讓我知道我可以做些什麼來改變我的變數,我將不勝感激。
BASH_VERSINFO[5]=x86_64-redhat-linux-info
輸出:
bash:BASH_VERSINFO:只讀變數
順便提一句。請參閱:使用 gdb 取消設置只讀變數的 Hacky 方法