shell 脚本是一个文件,其中包含一系列按执行顺序排列的命令。 当 shell 脚本执行时,它会按顺序一一运行所有命令。 一个 shell 脚本可以被执行多次,因此它节省了一个一个地执行每个命令的时间。
需要 shell 脚本的一些原因如下:
- 避免重复工作
- 自动化频繁执行的操作
- 将复杂且重复的命令序列组合成一个简单的命令。
在之前的一篇文章中,我们解释了在 Ubuntu 中创建和运行 shell 脚本。 这篇文章是关于如何在 Debian 系统中创建和运行 shell 脚本。 我们将使用 bash shell 是 Debian 的默认 shell。
注意:本文中解释的步骤已经过测试 Debian 10(克星) 系统。
第 1 步:创建 Shell 脚本
要创建 shell 脚本,您只需要使用任何文本编辑器(如 Nano、Vim、Gedit 等)创建一个纯文本文件。然后在文本文件中,您需要按照您希望它们的顺序添加命令执行。 创建 shell 脚本时请记住以下几点:
- 以“#!/bin/”开始 shell 脚本bash”
- 每一行都被视为一个命令
- 用 # 开始注释行
我们将使用 Nano 编辑器创建名为“testscript”的脚本; 但是,您可以选择任何您喜欢的编辑器。 在创建脚本文件之前,请确保其名称与命令不冲突。 您可以通过键入“which”后跟脚本名称来检查这一点:
$ which script_name
在我们的示例中,它将是:
$ which testscript
以下输出显示没有安装名为“testscript”的此类命令或程序。 因此,我们可以继续使用这个名称。
为了创建名为“testscript”的脚本,在终端中运行以下命令:
$ sudo nano testscript.sh
运行上述命令后,会在 Nano 编辑器中打开一个空文件。 首先,添加“#!/bin/bash”在文件的开头。 现在添加您喜欢在脚本中运行的命令,每个命令都在单独的行中。 在这里,我们要创建一个可以执行以下任务的脚本:
- 打印我们系统的 IP 地址
- 列出下载目录中的文件
- 将文件从 Downloads 目录备份到 Documents 目录
因此,我们在脚本中编写了以下命令行:
#!/bin/sh echo "Now we are going to print IP address" ip addr | grep ens37 echo "Now we are going to ping Google website" ping -c 2 google.com echo "Now we are going to backup our Downloads directory to Documents directory" cp -rv ~/Downloads ~/Documents
在脚本中输入命令后,保存并 close 它。
这是我们在 Nano 编辑器中的脚本文件的样子: