Shell脚本第一部分:bash脚本开始使用

你好。 这是一系列Linux教程的第一部分。 在撰写本教程时,我认为您是创建Linux脚本的绝对初学者,非常愿意学习。 在这个系列中,这个级别会增加,所以我相信即使是更高级的用户也会有新的东西。 那我们开始吧

介绍

我们的大多数操作系统(包括Linux)都可以支持不同的用户界面(UI)。 图形用户界面(GUI)是一个用户友好的桌面界面,使用户可以点击图标来运行应用程序。 另一种类型的接口是命令行接口(CLI),它是纯文本的,并接受用户的命令。 一个shell,命令解释器通过CLI读取命令并调用该程序。 现在大多数操作系统都提供了包括Linux发行版在内的两个界面。

使用shell时,用户必须在终端上键入一系列命令。 没有问题,如果用户只需要执行一次任务。 但是,如果任务复杂,必须重复多次,那么用户可能会有点乏味。 幸运的是,有一种自动执行shell的任务的方法。 这可以通过编写和运行shell脚本来完成。 shell脚本是一种由Linux shell支持的一系列命令组成的文件。

为什么要创建shell脚本?

shell脚本是在Linux操作系统中自动执行任务的非常有用的工具。 它也可以用于组合实用程序并创建新的命令。 您可以将长命令和重复的命令序列组合成一个简单的命令。 所有脚本都可以在不需要编译的情况下运行,因此用户将无缝地进行原型化命令的创建。

我是Linux环境的新手,还能学习如何创建shell脚本吗?

当然! 创建shell脚本不需要复杂的Linux知识。 Linux CLI中的常见命令和文本编辑器的基本知识将会做。 如果您是绝对的初学者,并且在Linux命令行中没有背景知识,可能会发现本教程有用。

创建我的第一个shell脚本

bash (Bourne-Again Shell)是大多数Linux发行版和OS X中的默认shell。它是一个开源GNU项目,旨在替代原来的Unix shell sh (Bourne Shell)。 由Brian Fox开发,1989年发行。

您必须始终记住,使用bash的每个Linux脚本将从以下行开始:

#!/bin/bash

每个Linux脚本都以一个shebang (#!)行开头。 bang行指定将用于运行脚本的命令解释器的完整路径/ bin / bash

你好,世界!

每个编程语言都以Hello World开头! 显示。 我们不会终止这种传统,并在Linux脚本中创建我们自己的这个虚拟输出版本。

要开始创建我们的脚本,请按照以下步骤操作:

第1步:打开一个文本编辑器。 我将使用gedit作为这个例子。 要使用终端打开gedit,请按键盘上的CTRL + ALT + T并键入gedit。 现在,我们可以开始写我们的脚本。

第2步:在文本编辑器中键入以下命令:

#!/bin/bash 
echo "Hello World"

第3步:现在,保存文件名为hello.sh的文档。 请注意,每个脚本都有一个.sh文件扩展名。

第4步:由于Linux发行版实施的安全性原因,默认情况下文件和脚本不可执行。 但是,我们可以使用Linux CLI中的chmod命令来更改脚本。 关闭gedit应用程序并打开一个终端。 现在键入以下命令:

chmod +x hello.sh

上面的行将可执行权限设置为hello.sh文件。 在首次运行脚本之前,此过程必须只执行一次。

第5步:要运行脚本,请在终端上键入以下命令:

./hello.sh

我们再来一个例子。 这一次,我们将通过使用whoami和date命令来显示一些系统信息到我们的hello脚本。

在我们的文本编辑器中打开hello.sh ,我们将通过键入以下内容编辑我们的脚本:

#!/bin/bash
echo "Hello $(whoami) !"
echo "The date today is $(date)"

保存我们在脚本中所做的更改,然后通过键入以下内容运行脚本(上例中的第5步):

./hello.sh

脚本的输出将是:

在前面的例子中,echo命令中使用了命令whoami和date。 这只表示在命令行中可用的所有实用程序和命令也可以在shell脚本中使用。

使用printf生成输出

到目前为止,我们已经使用echo来打印前面示例中命令的字符串和数据。 Echo用于显示一行文本。 可用于显示数据的另一个逗号是printf命令。 printf控制和打印数据,如C中的printf函数。

以下是公共主控制的总结:

控制 用法
\“ 双引号
\\ 反斜杠
\ b 退格
\C 不产生进一步的产出
\ e 逃逸
\ n 新队
\ r 回车
\ t 水平标签
\ v 垂直标签

示例3:我们将打开以前的hello.sh并将所有echo更改为printf并再次运行该脚本。 注意我们的输出发生了什么变化。

#!/bin/bash
printf "Hello $(whoami) !"
printf "The date today is $(date)"

所有行都相互连接,因为我们没有在printf命令中使用任何控件。 因此,Linux中的printf命令与C函数printf具有相同的属性。

要格式化我们的脚本的输出,我们将使用上面的表汇总中的两个控件。 为了工作,控件必须由printf命令的引号内的\指示。 例如,我们将把以前的hello.sh内容编辑为:

#!/bin/bash
printf "Hello \t $(whoami) !\n"
printf "The date today is $(date)\n"

该脚本输出以下内容:

结论

在本教程中,您已经了解了shell脚本的基础知识,并且能够创建和运行shell脚本。 在本教程第二部分,我将介绍如何声明变量,接受输入并使用shell命令执行算术运算。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏