构建基本shell脚本

目录

一.使用多个命令

 二.创建、执行shell 脚本文件

(一)创建shell脚本文件

(二)执行脚本文件 

(三)echo 显示命令消息 

 三.在脚本中使用变量

查看文件内容的行数(wc)

四.执行数学运算 

五.退出脚本 


一.使用多个命令

shell脚本的关键在于输入多个命令并处理每个命令的结果,甚至需要将一个命令的结果
传给另一个命令。shell可以让你将多个命令串起来,一次执行完成。如果要两个命令一
起运行,可以把它们放在同一行中,彼此间用分号(;)隔开。

以date ; who 为例子:

如果用管道符实现,则只输出最终的结果,并不显示中间结果。
date | who 

 二.创建、执行shell 脚本文件

(一)创建shell脚本文件

要将shell命令放到文本文件中,首先需要用文本编辑器vim来创建一个.sh后缀的shell脚
本文件,然后将命令输入到文件中。并且,在创建shell脚本文件时,必须在文件的第一
行指定要使用的shell。其格式为:
#!/bin/bash
一般来说#用作注释行,而#!用来告诉系统用哪个shell程序来运行脚本。
比如我们创建一个test.sh的脚本:

(二)执行脚本文件 

两个方法:

(1):是调用bash命令执行。语法:bash 脚本文件

+

(2):是用绝对或相对文件路径来直接执行shell脚本文件:/home/lee/test.sh
./test.sh。但这种方法一定要注意,需要给这个脚本赋予可执行(x)的权限。否则会
遇到Permission denied。 

(三)echo 显示命令消息 

大多数shell命令都会产生自己的输出显示在控制台显示器上。
通过echo命令可以添加自己的文本消息来告诉用户,shell脚本正在做什么。
echo -n 可以把文本字符串和命令输出显示在同一行中。

 三.在脚本中使用变量

变量允许你临时性地将信息存储在shell脚本中,以便和脚本中的其他命令一起使用。
在脚本中,可以在环境变量名称之前加上美元符($)来使用这些环境变量。
只要脚本在引号中出现美元符($) ,它就会以为你在引用一个变量。而当你在美元符($)前放置一个反斜线(\)时,则会输出美元符($)加变量名称,而不是变量对应的值。

除了直接调用系统自带的环境变量外,shell脚本还允许自己去定义并直接使用变量。
用户定义的变量可以是任何由字母、数字或下划线组成的文本字符串,长度不超过20个,
区分大小写。定义的变量允许临时存储数据并在整个脚本中使用(局部变量)。
使用等号将值赋给用户变量。在变量、等号和值之间不能出现空格
当你一旦退出这个脚本后,在shell命令行是无法直接调用脚本中所定义的变量! 

shell脚本中最有用的特性之一就是可以从一个命令的输出中提取信息,并将其赋给变量。把输出赋给变量之后,就可以随意在脚本中使用了。

有两种方法可以将命令的输出赋给变量:
反引号字符(`),` COMMAND `。(在你键盘上波浪号那里)
$() 格式,$(COMMAND)。 

在脚本中通过命令替换获得当前日期并用它来生成唯一文件名。
+%y%m%d格式告诉date命令将日期显示为两位数的年月日的组合。 

查看文件内容的行数(wc)

如果我们想查看该脚本(以及所有文件)中有多少行的内容,可以使用
wc命令可以对对数据中的文本进行计数。默认情况下,它会输出3个值:
•文本的行数
•文本的词数
•文本的字节数

-l参数则表示只看有多少行。我们也可以一次性查看所有文件的行数,用通配符(*)。

四.执行数学运算 

① 使用expr 命令。 注意符号与数字之间要有 空格 。expr 部分字符需要转义字符反斜杠(\)
② 使用美元符($)+ 方括号 [] 或者 $+双小括号 (())

expr命令的操作符有哪些: 

bash shell数学运算符只支持整数运算。
内建的bash计算器bc允许在命令行中输入浮点表达式,然后解释并计算该表达式,最后返
回结果。在命令行输入bc,即可进入到bc计算机的应用程序当中。退出bc计算器:quit 


默认还是只给出整数结果,但我们可以scale=3
设置保留小数点后3位

那我们如何在shell脚本中使用bc呢?
可以用管道符(|)运行bc命令,并将输出赋给一个变量。

基本格式如下:
variable=$(echo "options; expression" | bc)
options允许你设置变量值的格式。如果不止一个变量用分号(;)分开。 expression定义了通过bc执行的数学表达式。 

当我们调换了分号(;)前后语句的位
置后,发现系统先执行数学运算,再
执行小数点设置命令

五.退出脚本 

shell中运行的每个命令都使用退出状态码(exit status)告诉shell它已经运行完毕。退出
状态码是一个0~255的整数值,在命令结束运行时由命令传给shell。可以捕获这个值并在脚本中使用。
Linux提供了一个专门的变量$?来保存上个已执行命令的退出状态码。

默认情况下,shell脚本会以脚本中的最后一个命令的退出状态码(0)退出。

exit命令允许你在脚本结束时指定一个退出状态码。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值