Bash

Cygwin,bash,更改環境變數?

  • May 7, 2015

我已經在我的機器(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 方法

引用自:https://unix.stackexchange.com/questions/201904