linux shell if

来源:百度知道 编辑:UC知道 时间:2024/05/06 11:02:39
刚学linux shell编程,我有C语言的基础,网上随便找的一本参考书,里面的一个程序我调了半天了还是错。。。
#! /bin/bash
clear
declare c
read c
if ["$c" -gt "100"];
then
echo "c>100"
if ["$c" -le "100"]
echo "c<=100"
fi

执行的时候出现syntax erroe:unexpected enf of file
我用的red hat enterprise的 linux
不知道为什么错了?
shell 编程与C的区别是什么?
有什么好的参考书么?
最好提供电子书下载地址....提供书名也可以...我可以加分。

你在/etc/init.d 下面随便找个脚本参考以下就可以

基本结构是

if [ expression ];
then
....
else
....
fi

你的错误在于 有2个if 只匹配了一个if 而且 if 的条件式的最后必须添加分号

参考书很多, 最基础也也是最好的有
Unix Shell 编程 第三版
Classic.Shell.Scripting 2005OReilly出版
基本这两本就足够了,shell没什么高深的

syntax erroe: (语法错误)
我不很精通,大致意思没错,错的是符号的位置吧!
网上还不是别人写的,难免会错 重找个。

不过提出几点
#! /bin/bash
clear
declare c
read c
if ["$c" -gt "100"]; // 后面这个分号,好像没有吧
then
echo "c>100"
if ["$c" -le "100"] // 这又没有分号
echo "c<=100"
fi
.......

1.摆脱!我不知道 你是真的不知道还是打错了,那分号 如果要加,就必须要都加,不可能是可加可不加的。 (具体要不要加我不确定)

2.底下还有? 这部分好像没问题,下面的问题?

注: 我不精 这个,如果哪说错了,请各位海涵! 谢谢!