将.cshrc转换为.bashrc

时间:2010-05-11 12:39:17

标签: linux bash ubuntu csh

我是Linux新手,我正在尝试编译一些需要先设置环境变量的代码。该脚本位于cshrc中,但每当我尝试运行该代码时,我都会收到“if:badly formed number”错误。我想用bash运行它。有没有简单的方法将cshrc转换为bashrc?

2 个答案:

答案 0 :(得分:3)

如果bash将成为您在Linux中首选的shell,而不是寻找工具,那么您最好花几分钟时间学习如何在bash中执行此操作。除非csh脚本真的复杂,否则翻译不太可能需要花费太多精力,并且在完成此操作后,您将掌握更好地了解未来bash(和csh)脚本的知识。

让您入门的几个提示:

  • 在csh中,您使用setenv设置环境变量; bash使用= + export
  • 两个
  • 之间的if语法不同

例如:

# bash
if [ ${ORACLE_HOME:-0} = 0 ]; then
    ORACLE_TMP="/tmp"
else
    ORACLE_TMP=$ORACLE_HOME/tmp
fi
export ORACLE_TMP

# csh
if ($?ORACLE_HOME == 0) then
    setenv ORACLE_TMP /tmp  
else                
    setenv ORACLE_TMP $ORACLE_HOME/tmp
endif

答案 1 :(得分:1)

是的,发布代码。有成群的阿尔法极客在这里等着为你做这种工作,有点像租一个编码器,但没有成本: - )

说真的,从内存中csh使用括号表示bash [[...]]使用csh但是,直到您发布代码(至少是违规行为)我们无法确定。(/ p>)

换句话说,if ($number < 0) then echo What the ... endif

bash

将成为if [[ $number -lt 0 ]] ; then echo What the ... fi

{{1}}