bash 的if 语句,for 语句

原创 2012年03月27日 14:19:36
#!/bin/bash
if [ -f tar.sh ]
        echo "tar.sh exist";
else
        echo "tar.sh not exist";

fi

执行出现错误:

./1.sh: line 4: syntax error near unexpected token `else'
./1.sh: line 4: `else'

原来是缺少了then 语句。 bash 跟 c 语言还是不太像的。 是不是有点象basic?

正确的写法是加上then , 如下:

#!/bin/bash
if [ -f tar.sh ]
then
        echo "tar.sh exist";
else
        echo "tar.sh not exist";

fi

执行,正确。


在控制台下直接敲入为: if [ -f tar.sh ]; then echo "tar.sh exist"; else echo "tar.sh not exist"; fi

语句之间用分号分割。

----------------------------------------
字符串变量的比较,= == 都可以, 字符串变量最好加上双引号
否则,可能出现 too many arguments
----------------------------------------
[root ~]$ a="abc def"
[root ~]$ echo $a
abc def
[root ~]$ if [ $a = "abc def" ] ;then echo yes;else echo no;fi
bash:root [: too many arguments
no
[root ~]$ if [ "$a" = "abc def" ] ;then echo yes;else echo no;fi
yes
----------------------------------------
if 语句(测试语句)的简单写法, 实际上是test 语句/ [ ] 语句
----------------------------------------
[root ~]$ [ "$a" = "abc def" ] && echo yes || echo no
yes
[root ~]$ [ "$a" = "abc defd" ] && echo yes || echo no
no

~                                                                          


除了 if then... else .... fi 语句

还有 for do...done 语句, while do ... done 语句等


bash for 循环举例:

for var in ... 方式和 c表达式方式

for i in 1 2 3 4 5; do echo $i; done

for ((i=0; i<10; i++)); do echo $i; done  // c 风格的条件语句

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

书写优雅的shell脚本(一)- if语句

使用unix/linux的程序人员几乎都写过shell脚本,但这其中很多人都是为了完成功能而在网上找代码段,这样写出来的shell脚本在功能方面当然是没有什么问题,但是这样的方式不能写出优雅的shel...

mac下如何写shell脚本

一.第一个脚本:hello world 1.打开终端 2.可以在终端,用vim命令,打开vim编辑 3.输入 #i/bin/bash echo '...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Mac下编写bash脚本并运行

1、编写bash脚本 参考链接:http://blog.sina.com.cn/s/blog_43c625f10101f24j.html                  http://blog....

教你在mac上面创建可执行脚本文件

由于iphone的成功,用mac os的朋友也越来越多,创建批处理脚本文件还是非常重要的。由于在mac下面创建脚本文件和windows下面大不一样,于是写篇博文纪录一下。 首先需要一个文本编辑工具,...
  • ixfly
  • ixfly
  • 2012-06-27 12:16
  • 64412

mac终端下运行shell脚本

1、写好自己的 脚本,比如aa.sh    2、打开终端 执行,方法一: 输入命令    ./aa.sh     ,   方法二:直接把 aa.sh 拖入到终端里面。   注意事项:  ...

Mac - 删除Launchpad空白文件夹

之前有遇到这样的情况, 就是在Launchpad里,产生了无用的空白文件夹, 类似这样。最底下就是一个未命名的空文件夹。  有“洁癖”的同学.. 必然想要把它删掉。之前有个其他朋友问我这个问题, 所以...

理解 Bash 的 if 语句 来源:http://qixinglu.com/

写 bash 脚本的日子也不短了,但是每次用到 if 语句时大脑还是会卡壳一下,要翻教程和看以前的代码,因为条件部分语法神出鬼没,捉摸不定,于是我还是花点时间狠狠研究了一下,写了这篇文章做总结。 诡...

C++中四大语句总结(while、for、if、switch)

(1)if语句:      1)bool类型的判断:if(flag)/if(!flag);           整数类型的判断:if(value==0)/if(value!=0)/if(value&g...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)