我是Linux新手,我正在尝试编译一些需要先设置环境变量的代码。该脚本位于cshrc中,但每当我尝试运行该代码时,我都会收到“if:badly formed number”错误。我想用bash运行它。有没有简单的方法将cshrc转换为bashrc?
答案 0 :(得分:3)
如果bash将成为您在Linux中首选的shell,而不是寻找工具,那么您最好花几分钟时间学习如何在bash中执行此操作。除非csh脚本真的复杂,否则翻译不太可能需要花费太多精力,并且在完成此操作后,您将掌握更好地了解未来bash(和csh)脚本的知识。
让您入门的几个提示:
setenv
设置环境变量; bash使用=
+ export
例如:
# 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}}