Shell Script 学习一

Shell Script编写注意事项:

1.命令的执行是从上而下,从左至右地分析与执行。

2.命令执行中,命令与参数间的多个空白都会被忽略掉。

3.空白行也被将忽略掉,并且【tab】按键所得的空白同样视为空格键。

4.如果读取到一个Enter符号【CR】,就尝试开始执行该行(或该串)命令;

5.如果一行的命令太多,则可以使用“\[Enter]”来扩展至下一行;

6.“#”任何加载#后面的数据全部被视为批注文字而被忽略。

bin bash和 bin sh的区别

在shell脚本的开头往往有一句话来定义使用哪种sh解释器来解释脚本。两种声明的区别:

1.#!/bin/bash 声明当前script使用的shell名称,因为我们使用的是bash,所以必须使用#!/bin/bash来声明这个文件内的语法使用bash的语法。那么当这个程序被执行时,它就能够加载bash的相关环境配置文件(一般来说就是non-login shell的~/.bashrc),并且执行bash来使我们下面的命令能够执行。“#!”,这个表示声明shell。

2.#!/bin/sh,这个声明依赖于系统默认的bash,它是一个软连接。Linux中的shell有多种类型,其中最常用的几种是Bourne   shell(sh)、C   shell(csh)和Korn   shell(ksh)。三种shell各有优缺点。Bourne   shell是UNIX最初使用的shell,并且在每种UNIX上都可以使用。Bourne   shell在shell编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。Linux操作系统缺省的shell是Bourne   Again   shell,它是Bourne   shell的扩展,简称Bash,与Bourne   shell完全向后兼容,并且在Bourne   shell的基础上增加、增强了很多特性。Bash放在/bin/bash中,它有许多特色,可以提供如命令补全、命令编辑和命令历史表等功能,它还包含了很多C   shell和Korn   shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。

范例学习

1.交互式脚本

主要是通过bash中的read命令来实现,允许用户输入相关信息,例如:

read -p "please input your first name:" firstname
echo -e "\n Your firstname is :$firstname"

2.随日期变化

3.数值运算

read -p "first number:" firstNum
read -p "second number:" secNum
total=$(($firstNum * $secNum))
#declare -i total=$firstNum * $secNum

Script的执行方式区别(Source,shscript,./script)

1.直接执行的方式来执行script

2.利用source来执行脚本:在父进程中执行

判断式

1.test 命令的测试功能

2.利用判断符号[]

原文地址:https://www.cnblogs.com/michelleAnn2011/p/2660117.html