——Linux脚本

avatar
作者
筋斗云
阅读量:0

一.构建基本脚本

1.使用多个命令

shell 可以让你将多个命令串起来,一次执行完成。如果要两个命令一起运行,可以把它们放在同一行中,彼此间用分号隔开。

2.创建 shell 脚本文件

1) 要将 shell 命令放到文本文件中,首先需要用文本编辑器来创建一个文件,然后将命令输入到文件中。

2) 在创建 shell 脚本文件时,必须在文件的第一行指定要使用的 shell 。其格式为:#!/bin/bash

3.显示消息

1) 通过 echo 命令可以添加自己的文本消息来告诉脚本用户脚本正在做什么。

2) 不需要使用引号将要显示的文本字符串划定出来。

3) 如果字符串中出现引号,需要在文本中使用另一种引号来划定文本字符串。

4) -n 可以把文本字符串和命令输出显示在同一行中。

5) 应用

- 构建一个脚本文件执行创建新用户、给新用户分组、查看当前登录的用户。

- 运行该脚本文件查看返回结果。

- 为刚刚构建的脚本文件添加输出前的提示。

4.使用变量

1) 变量允许你临时性地将信息存储在 shell 脚本中,以便和脚本中的其他命令一起使用。

2) 在脚本中,可以在环境变量名称之前加上美元符($)来使用这些环境变量。

3) 用户变量区分大小写。

4) 使用等号将值赋给用户变量。在变量、等号和值之间不能出现空格。

5.重定向输入和输出

1) 重定向可以用于输入,也可以用于输出,可以将文件重定向到命令输入。

2) bash shell 用大于号(>)将命令的输出发送到一个文件中。

3) 如果输出文件已经存在了, > 会用新的文件数据覆盖已有文件。

4) 输入重定向符号是小于号(<)。

5) 内联输入重定向(inline input redirection)只需要在命令行中指定用于输入重定向的数据。

6) 内联输入重定向符号是远小于号(<<)。

6.管道

1) 管道连接(piping)的管道符号(|)。直接重定向到另一个命令。 

2) 可以在一条命令中使用任意多条管道。

3) 应用

- 查看当前系统的所有用户基本信息,使用重定向命令,将查看结果保存为 username.txt 文件。

- 使用 wc 和重定向命令,查看 username.txt 中的文本行数。

- 查看当前系统的所有用户基本信息,不通过重定向的方式,直接查看文本行数。

7.执行数学运算

1) 在 shell 脚本中有两种途径来进行数学运算:

- expr 命令(expr 部分字符需要转义字符)

- 使用方括号(用美元符和方括号( $[ operation ] )将数学表达式围起来。)

2) 在shell脚本中用方括号执行以下数学运算:

- 100 *(50-45)

- 100/52

- 观察输出结果

3) bash shell 数学运算符只支持整数运算,内建的 bash 计算器 bc 允许在命令行中输入浮点表达式,然后解释并计算该表达式,最后返回结果。

4) -q 选项可以不显示 bash 计算器冗长的欢迎信息。

5) 保留的小数位数是由内建变量 scale 控制的,默认值为 0。

6) 可以用命令替换运行 bc 命令,并将输出赋给一个变量。基本格式:variable=$(echo "options; expression" | bc)

- options 允许你设置变量。如果不止一个变量用分号分开。

- expression 参数定义了通过 bc 执行的数学表达式。

7) 在脚本中使用 bc 进行加减乘除运算,要求保留3位小数。

8.退出脚本

1) shell中运行的每个命令都使用退出状态码(exit status)告诉 shell 它已经运行完毕。 

2) 退出状态码是一个 0~255 的整数值,在命令结束运行时由命令传给 shell 。可以捕获这个值并在脚本中使用。

3) Linux 提供了一个专门的变量 $? 来保存上个已执行命令的退出状态码。 

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

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

6) 应用

- 针对某脚本文件,指定一个退出状态码。

- 运行后,查询其退出状态码,并对其状态进行描述。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!