首页 > 代码库 > 解决:未找到setenv命令

解决:未找到setenv命令

在Ubuntu12.04中配置python环境变量:setenv PATH "$PATH:/usr/local/bin/python",提示未找到setenv命令。

为什么呢?这是因为shell版本问题!

Bourne Shell(即sh)是UNIX最初使用的shell,平且在每种UNIX上都可以使用。BourneShell在shell编程方便相当优秀,但在处理与用户的交互方便作得不如其他几种shell。
LinuxOS默认的是Bourne Again Shell,它是Bourne Shell的扩展,简称bash,与BourneShell完全兼容,并且在BourneShell的基础上增加,增强了很多特性。可以提供命令补全,命令编辑和命令历史等功能。它还包含了很多C Shell和KornShell中的优点,有灵活和强大的编辑接口,同时又很友好的用户界面

C Shell是一种比Bourne Shell更适合的变种Shell,它的语法与C语言很相似。Linux为喜欢使用CShell的人提供了Tcsh。
Tcsh是CShell的一个扩展版本。Tcsh包括命令行编辑,可编程单词补全,拼写校正,历史命令替换,作业控制和类似C语言的语法,他不仅和BashShell提示符兼容,而且还提供比Bash Shell更多的提示符参数。

Korn Shell集合了C Shell和Bourne Shell的优点并且和BourneShell完全兼容。Linux系统提供了pdksh(ksh的扩展),它支持人物控制,可以在命令行上挂起,后台执行,唤醒或终止程序。

Linux还包括了一些流行的Shell如:ash,zsh等。每个Shell都有它的用途,有些Shell是有专利的,有些能从Internet或其他来源获得。
因此,现在在来解释为什么在ubuntu下出现找不到‘setenv’命令的错误就很容易了。因为setenv/unsetunv是csh的命令,而ubuntu下的shell版本是bash,因此无法解释,但是在bash下有与之对应的命令,对应关系如下:

  • 在 csh shell: 输入
    setenv PATH "$PATH:/usr/local/bin/python"
    , 按下"Enter"。
  • 在 bash shell (Linux): 输入
    export PATH="$PATH:/usr/local/bin/python" 
    ,按下"Enter"。
  • 在 sh 或者 ksh shell: 输入
    PATH="$PATH:/usr/local/bin/python" 
    , 按下"Enter"。