bash基本语法

原创 2015年11月21日 19:10:28

本文就是自己整理的一个入门说明。
先贴个例子:

#!/bin/bash
lines=0
while read -r line
do
    let lines=lines+1
    if(($lines == 10));then
        echo "$line"
    fi 
done<file.txt

注释

对于一门脚本语言,我首先思考的问题是怎么注释。
#是bash中的注释符号。
然后你特么发现第一行不是被注释掉么?
其实一开始我也纳闷。
毕竟解析器是也是软件。
它并不一定一看到#就全部忽略整行。
这个解释有点勉强?
确实的。
其实我们需要重新理解注释。
注释的意思可以是解释器不去执行。
但却可以给系统加载该脚本时提供信息。
从这个意义上来说#!确实是注释。
只是这个注释是告诉系统用那个shell去执行。
而最后真正执行的shell是会忽略掉这行的。
这玩意在unix geek眼里一般叫shebang
所以这玩意对程序加载器来说是有用的。
而且还可以在这一行里传参数。
对最终的解释器来说又确实和注释一样不产生作用。
更好的解释在这里
毕竟脚本可以用任何语言写成。
其实如果你不加这一行也是可以的。
一个注释扯这么多有点无聊。


变量

说完注释说变量
bash的变量真牛逼
直接定义
比如
state=looksgood
不过还是建议加上引号
state=’looksgood’
引号在字串中间有空格是必须的
那如何引用?
变量前加echostate
注意变量赋值时=号两端不要有空格
原因是shell将每一行命令视为命令及其参数的集合
以空格分隔

条件语句

变量说完自然就要比较
条件语句如何对比?
条件语句语法自然是 if语法
参见文章最开始的例子
套用下官方的语法:

if test-commands; then
    consequent-commands;
[elif more-test-commands; then
    more-consequents;]
[else alternate-consequents;]
fi

尼玛,感觉瞬间高大上。
语法看起来简单,那就看看如何比较。
套用官方文档:

Conditional expressions are used by the [[ compound command and the test and [ builtin  commands.

好想有三种条件表达式语法。
据说比较形式很多种,既然我也没入门那就说简单的:

  • [] 比较运算,根据参数不同而不同,详见manual吧
    这里举个例子:

    if [ expression ]

其中express可以为:

if [ '$state' = 'looksgood' ] ; then
    echo "yes"
fi

循环

说完条件说循环
bash中多钟循环

until test-commands; do consequent-commands; done
while test-commands; do consequent-commands; done
for name [ [in [words ...] ] ; ] do commands; done

还是那句话,预知详情,请看文档,因为文档实在写的比我好多。

数据输入

相关文章推荐

BASH基础理解,写法

作者:linux宝库 (http://www.linuxmine.com) 来自:linux宝库 (http://www.linuxmine.com) 最简单的例子 —— Hello Wo...

Linux bash基本语法笔记

  • 2017年09月07日 23:31
  • 4KB
  • 下载

BASH 的基本语法

最简单的例子 —— Hello World! 关于输入、输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) BASH 中的基本流程控制语法 函数的使用 ...

NuttX bash的基本语法

阅读 PX4代码时会涉及到NuttX系统的语言解释器Shell,这里的Shell应该采用的是bash,因此整理一下bash的基本语法。 1. 最简单的例子——Hello World #!/bin/...

bash (2) 基本语法

最简单的例子 —— Hello World! 关于输入、输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) BASH 中的基本流程控制语法 函数的使用 最简单的例子 —— Hello Wo...
  • php_boy
  • php_boy
  • 2011年05月13日 14:07
  • 857

Bash基本语法

变量赋值的基本操作

bash,shell模版 语法 设置文件

  • 2017年10月12日 14:37
  • 2KB
  • 下载

Linux bash shell脚本语法入门(转)

1.基础   #!/bin/bash   //bash脚本第一句都是这个,他会让系统指定以bash来解释这个脚本  #                 //shell脚本注释符号  2.变量和使用 ...

linux下查看文件夹及其排序的bash语法

1.      文件夹大小排序 统计当前目录大小 [oracle@oracledb~]$ du -sk 526496  . 该目录下所有子目录大小统计并排序 [oracle@o...

bash 语法篇

简单的命令 一个简单的命令是可选的变量赋值其次是空格分隔字和重定向,并通过控制操作符的序列。第一个字指定要执行的命令,以及作为参数的零传递。其余的字作为参数传递给调用命令通过。一个简单的命令的返回值...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:bash基本语法
举报原因:
原因补充:

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