2014-10-28 67 views
0

我在我的電腦上運行Ubuntu 14.04,我試圖創建一個自定義別名,以便我可以運行ghc(Haskell編譯器)。 我試圖編輯.bash_aliases文件並添加命令:在ubuntu中創建自定義別名失敗14.04

alias ghci1 = 'GHC_HOME=$HOME/Development/bin/ghc' 
alias ghci2 = 'PATH=$GHC_HOME/bin:${PATH}' 
alias ghcis = 'ghci' 

這樣做的整點是因爲我安裝了GHC 7.8.3,每次我想打開ghci的我要記下前兩命令,否則我得到ghc沒有安裝在我的電腦上的錯誤。

當我打開已經編輯.bash_aliases文件,我得到消息後,一個終端:

bash: alias: ghci1: not found 
bash: alias: =: not found 
bash: alias: ghci2: not found 
bash: alias: =: not found 
bash: alias: ghcis: not found 
bash: alias: =: not found 
bash: alias: ghci: not found 
bash: alias: ghci1: not found 
bash: alias: =: not found 

我在做什麼錯?我甚至試過這個命令:

。 〜/ .bashrc

只是爲了防止.bash_aliases文件有問題,但我得到相同的錯誤信息。

而且當我在命令alias型我得到的結果與其他別名此相伴:

alias GHC_HOME='$HOME/Development/bin/ghc' 
alias PATH='$GHC_HOME/bin:${PATH}' 

所以我的別名沒有得到我分配給他們的名字。有沒有辦法以某種方式逃避'='字符或類似的東西這樣的工作?

P.S.我用來安裝GHC 7.8.3本指南是這樣的:

https://gist.github.com/yantonov/10083524 

那麼,有沒有可能安裝GHC 7.8.3更好的辦法,還是我在一個錯誤的方式來進行分配的別名?

謝謝。

+0

做@ @ ChrisDrost答案所說的。你不應該試圖通過別名來設置環境變量。 – thermite 2014-10-28 15:06:00

回答

5

你應該使用出口內置在bash命令來設置這些,然後GHCI將正常工作。

在頂部或底部~/.bashrc你應該寫:

export GHC_HOME=$HOME/Development/bin/ghc 
export PATH=$GHC_HOME/bin:${PATH} 

然後,一旦你已經開始了一個新的bash情況下,你將不得不ghci訪問。 (如果您需要做實時更改,您還可以source ~/.bashrc將該文件重新加載到bash中,這將帶來所需的定義。)

+1

這是比我更好的答案。我實際上並沒有看他想要什麼別名。 – thermite 2014-10-28 15:04:37

+0

謝謝。我一直試圖弄清楚1.5小時:D – sokras 2014-10-28 15:27:33

1

之前和之後刪除空間「=」

應該

alias ghci1='GHC_HOME=$HOME/Development/bin/ghc'