Linux编写Bash脚本


通过在Linux命令行上键入命令,您可以向服务器提供指令以完成一些简单的任务。如地狱 脚本是一种将一系列指令放在一起以使其更容易的方法。 Shell脚本变得更加强大 你可以添加ifwhile类的逻辑来自动控制它们在环境变化时的行为方式。

什么是Bash?

Bash是命令行解释器的名称,该程序可以理解您在命令中输入的Linux命令 提示,或在你的脚本中。

脚本中有什么?

脚本只是一个文件。一个基本脚本由一个介绍性的行组成,它告诉服务器它的构成,以及一个 或更多要执行的指令。这是一个例子:

#!/bin/bash
 echo "Hi. I'm your new favorite bash script."

第一行有特殊含义,我们将在下面讨论。第二行只是一个Linux命令,你可以输入一个 在命令行上。

什么是评论?

注释是您添加到脚本中的文本,您希望bash忽略这些文本。评论以井号开头,对于有用 注释您的代码,以便您和其他用户可以理解它。要添加注释,请键入#字符,后跟任何文本 这对你很有帮助。 Bash会忽略#及其后的所有内容。

注意: 脚本的第一行不是注释。这条线总是第一个,始终以#!开头#!而且很特别 意思是打击。

这是以前的剧本,评论说:

#!/bin/bash # Designates the path to the bash program. Must start with '#!' (but isn't a comment).
 echo "Hi. I'm your new favorite bash script." # 'echo' is a program that sends a string to the screen.

执行脚本

您可以打开文本编辑器,粘贴该示例代码并保存文件,并且您有一个脚本。脚本通常是 命名以“.sh”结尾,因此您可以将该代码保存为myscript.sh。

在我们做两件事之前,脚本不会执行:

首先,让它可执行。 (我们只需要这样做一次。) Linux完全依赖于文件权限。他们确定了很多关于服务器行为的方法。有很多要了解的 权限,但是现在我们只需要知道这一点:在给自己执行权限之前,不能运行脚本。至 这样做,输入:

chmod +x my script.sh

第二,运行它。 我们从命令行执行脚本就像任何其他命令一样,如lsdate 。剧本 name是命令,当你调用它时,你需要在它前面加一个'./':

./myscript.sh # Outputs "Hi. I'm your new favorite bash script." (This part is a comment!)

条件语句

有时您希望脚本只有在其他情况属实的情况下才能执行某些操作。例如,仅在值为的情况下打印消息 低于一定限度。以下是使用if执行此操作的示例:

#!/bin/bash

 count=1 # Create a variable named count and set it to 1

 if [[ $count -lt 11 ]]; then # This is an if block (or conditional). Test to see if $count is 10 or less. If it is, execute the instructions inside the block.
    echo "$count is 10 or less" # This will print, because count = 1.
 fi # Every if ends with fi

类似地,我们可以安排脚本,使其仅在某些事情成立时才执行指令。我们将更改代码 count变量的值更改:

#!/bin/bash

 count=1 # Create a variable named count and set it to 1

 while [[ $count -lt 11 ]]; do # This is an if block (or conditional). Test to see if $count is 10 or less. If it is, execute the instructions inside the block.
    echo "$count is 10 or less" # This will print as long as count <= 10.
    count=$((count+1)) # Increment count
 done # Every while ends with done

这个版本的myscript.sh的输出将如下所示:

"1 is 10 or less"
 "2 is 10 or less"
 "3 is 10 or less"
 "4 is 10 or less"
 "5 is 10 or less"
 "6 is 10 or less"
 "7 is 10 or less"
 "8 is 10 or less"
 "9 is 10 or less"
 "10 is 10 or less"

真实世界的脚本

这些例子并不十分有用,但原则是。使用whileif和任何可能以其他方式键入的命令 手动,您可以创建执行有价值工作的脚本。

更多Linux教程

学习更多Linux教程