我正在我的计算机上运行Ubuntu 14.04,我正在尝试创建一个自定义别名,以便我可以运行ghc(Haskell编译器)。 我尝试编辑.bash_aliases文件并添加命令:
alias ghci1 = 'GHC_HOME=$HOME/Development/bin/ghc'
alias ghci2 = 'PATH=$GHC_HOME/bin:${PATH}'
alias ghcis = 'ghci'
这样做的全部意义是因为我安装了ghc 7.8.3并且每次我想打开ghci我必须写下前两个命令,否则我得到错误,我的计算机上没有安装ghc。 / p>
在编辑.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 :(得分:5)
你应该在bash中使用 export 内置命令来设置它们,然后GHCI才能正常工作。
在~/.bashrc
的顶部或底部,您应该写:
export GHC_HOME=$HOME/Development/bin/ghc
export PATH=$GHC_HOME/bin:${PATH}
然后,一旦启动了新的bash实例,您就可以访问ghci
。 (如果您需要进行实时更改,您还可以source ~/.bashrc
将该文件重新加载到bash中,这将带来所需的定义。)
答案 1 :(得分:1)
删除'='
之前和之后的空格应该是
alias ghci1='GHC_HOME=$HOME/Development/bin/ghc'