——Linux脚本
创始人
2024-09-25 12:50:41
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) 应用

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

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

相关内容

热门资讯

1分秒分析”新众亿房卡领取码“... 房卡领取码是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:113857776许多玩家在游戏中会购买房...
玩家揭秘!微信里上玩拼三张购买... 微信游戏中心:新八戒在哪里买打开微信,添加客【33699510】,进入游戏中心或相关小程序,搜索“微...
1分秒分析”新鸿狐房卡在哪里买... 1分秒分析”新鸿狐房卡在哪里买“先锋大厅房卡充值微信房卡充值 添加房卡批售商:微【113857776...
秒懂普及”新玄龙房卡详细充值“... 秒懂普及”新玄龙房卡详细充值“人海大厅房卡充值游戏中心打开微信,添加客服【113857776】,进入...
一秒了解”新神皇如何买房卡“哪... 一秒了解”新神皇如何买房卡“哪里有详细房卡介绍 微信牛牛房卡客服微信号微信游戏中心打开微信,添加客服...
ia实测“可以自建房间的金花房... 随意玩俱乐部是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房...
玩家揭秘!微信牛牛房卡哪里买,... 微信游戏中心:新鸿狐在哪里买打开微信,添加客【33699510】,进入游戏中心或相关小程序,搜索“微...
玩家须知”新西部哪里有详细房卡... 来教大家如何使用哪里有详细房卡介绍房卡充值 添加房卡批售商:微【113857775】复制到微信搜索、...
1分秒分析”黄帝大厅房卡怎么得... 来教大家如何使用房卡怎么得房卡充值 添加房卡批售商:微【113857775】复制到微信搜索、直接添加...
正版授权“微信群金花房卡链接如... 炫酷大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来...
实测分享”新九天房卡详细充值“... 实测分享”新九天房卡详细充值“详细房卡使用教程微信房卡充值 添加房卡批售商:微【113857776】...
玩家揭秘!微信链接拼三张房卡怎... 微信游戏中心:新九游在哪里买打开微信,添加客【33699510】,进入游戏中心或相关小程序,搜索“微...
一分钟了解“金花房卡在哪有这么... 新速度是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来享...
秒懂百科”新全游如何买房卡“金... 秒懂百科”新全游如何买房卡“金花房卡充值 微信牛牛房卡客服微信号微信游戏中心打开微信,添加客服【11...
分享经验”牛牛房卡怎么弄“金花... 分享经验”牛牛房卡怎么弄“金花房卡充值 微信牛牛房卡客服微信号微信游戏中心打开微信,添加客服【113...
终于找到“哪里有卖微信扎金花房... 新超圣是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来享...
玩家揭秘!炸金花房卡如何购买,... 微信游戏中心:招财猫在哪里买打开微信,添加客【33699510】,进入游戏中心或相关小程序,搜索“微...
1分秒分析”东游房卡哪里充“哪... 1分秒分析”东游房卡哪里充“哪里买低价房卡!游戏中心打开微信,添加客服【113857776】,进入游...
房卡必备教程“买房卡的金花房代... 大圣大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来...
实测教程”新玄灵房卡到哪里买“... 实测教程”新玄灵房卡到哪里买“低价获取房卡给大家 微信牛牛房卡客服微信号微信游戏中心打开微信,添加客...