一.脚本结构

linux下shell的脚本,是将一系列命令序列写在一个文本文件,而这个文本文件时可执行的。相对命令行来说,开发效率提高。因此他的构架有2部分构成#!和命令序列。其中#!指明此脚本是用哪个解析器来解析。 例如:

二.基础知识

2.1 变量

shell本允许用户设置和使用自己的变量,变量可以是数字或者字符串,用户无需指定其类型,也无需在使用前定义。

例如:

 #!/bin/bash

 #2.2
a="hello word"
b=
echo "A is" $a
echo "B is" $b

2.2 参数

同C程序一样,shell本中也可以使用命令行参数

$#:传入脚本的命令行参数个数
 $*:所有命令行参数值,在各个参数值之间留有空格
 $0:命令本身(shell文件名)
 $0:命令本身(shell文件名)
 $1:第一个命令行参数
 $2:第二个命令行参数

例如:

#!/bin/bash

#2.3
echo "number of var:" $#
echo "value of vars" $*
echo "name of script" $
echo "value of var1" $
echo "value of var2" $

终端: ./bash.sh a 3, 结果可以此验证

2.3  数学计算

shell本提供了一个专门的命令expr来计算数学表达式,例如expr 5 +1,但是当要把计算的结果赋值给其他变量的时候,还必须使用反号。var=`expr 20 / 10`。 例如:

#!/bin/bash

#2.4
var1=
var2=
var3=`expr $var2 / $var1`
var4=`expr $var2 + $var1`
echo $var3
echo $var4

2.5 流程控制语句

2.5.1

shell脚本中最基本的流程控制语句就是if-then,使用格式:

if [ condition ] (特别提醒:方括号左右两边必须有空格)

then
commands
else
commands
fi

例如:

#!/bin/bash

#2.5.
var=
if [ $var -gt ]
then
echo "the value is greater than 5"
fi

2.5.2

shell本提供了for命令,用于创建类似于c语言编程中for

语句一样的循环。使用格式:

for var in list

do

commands
done

例如:

#!/bin/bash

#2.5.
list="Sun Mon Tue Wed Thur Fri Sat"
for day in $list
do
echo $day
done

2.5.3

shell本提供了while命令,用于创建类似于c语言编程中
while语句一样的循环。使用格式:
while condition
do

commands
done

例如:

#!/bin/bash

while [ $var -gt  ]
do
echo $var
var=`expr $var - `
done

shell编程技术之-基础知识的更多相关文章

  1. 【shell编程】之基础知识-语法

    一.shell变量 1.定义变量 定义变量时,变量名不加美元符号($,PHP语言中变量需要), 如: your_name="runoob.com" 注意,变量名和等号之间不能有空格 ...

  2. 【shell编程】之基础知识了解shell

    一.什么是shell Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了 ...

  3. 【shell编程】之基础知识-文件包含

    和其他语言一样,Shell 也可以包含外部脚本.这样可以很方便的封装一些公用的代码作为一个独立的文件. Shell 文件包含的语法格式如下: . filename # 注意点号(.)和文件名中间有一空 ...

  4. 【shell编程】之基础知识-输入/输出和重定向

    大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端.一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端.同样,一个命令通常将其输出写入到标准输出,默 ...

  5. 【shell编程】之基础知识-函数

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用. shell中函数的定义格式如下: [ function ] funname [()] { action; [return ...

  6. 【shell编程】之基础知识-流程控制

    和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { search(q); ...

  7. 【shell编程】之基础知识-常用命令

    一.Shell echo命令 Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出.命令格式: echo string 您可以使用echo实现更复杂的输出格式控制. ...

  8. 【shell编程】之基础知识-基本运算符

    Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 ...

  9. Visual C++ 打印编程技术-打印基础知识

    打印机介绍 1.打印术语 *: 1 英寸= 2.54 厘米(cm)= 25.4 毫米(mm) cpi (Characters Per Inch): 每英寸内所含的字符数,用来表示字符的大小.间距 cp ...

随机推荐

  1. 深入理解C#第二版笔记

    基础知识 委托 如果代码想要执行操作,但不知道操作细节,一般可以使用委托.例如:Thread类之所以知道要在一个新线程里运行什么,唯一的原因就是在启动新线程时,向它提供了一个ThreadStart委托 ...

  2. 将 Web 应用性能提高十倍的10条建议

    提高 web 应用的性能从来没有比现在更重要过.网络经济的比重一直在增长:全球经济超过 5% 的价值是在因特网上产生的(数据参见下面的资料).这个时刻在线的超连接世界意味着用户对其的期望值也处于历史上 ...

  3. 查看MySQL数据库的默认编码

    查看MySQL数据库的默认编码 1.使用status命令能够显示数据库的相关系信息,示例如下: mysql> status;————–mysql Ver 14.12 Distrib 5.0.77 ...

  4. Ubuntu 下配置Samba 实现Linux和windows之间文件共享

    一 Samba 的安装: sudo apt-get insall sambasudo apt-get install smbfs 二 在Ubuntu中创建共享目录: mkdir  /home/shar ...

  5. oracle修改服务器端编码

    因为装的是oracle 11g免费版,没有装oracle客户端,然后从网上找了免客户端使用pl/sql的教程,具体可以看链接,这里不再累述:但打开pl/sql的时候提示客户端和服务端编码不一致:网上一 ...

  6. 关于使用百度ueditor时的一些问题

    本来这些问题直接在百度贴吧里回答不就完事了,可是好死不死的,百度贴吧里老出现 未知错误,错误号:230274 看来还是算了,自己做一个随笔记录一下好了 关于我们获取里面的内容时,老是会有一个<p ...

  7. Intellj Idea 2016.1.3的使用

    Intellj Idea 2016.1.3的使用:http://blog.csdn.net/bleachswh/article/details/51811055 极客学院教程:http://wiki. ...

  8. ios开发中各种版本、设备的区分

    设备类型的区分-iphone ,ipad-itouch..... 可以从 UIDevice 的属性 model 得到在现在执行的环境.例子如下: [cpp] view plaincopyprint? ...

  9. Android设置上下边框或者左右边框

    <?xml version="1.0" encoding="utf-8"?> <com.sunskyjun.fwproject.widgts. ...

  10. mysql Encryption and Compression Functions

    Name Description AES_DECRYPT() Decrypt using AES AES_ENCRYPT() Encrypt using AES COMPRESS() Return r ...