首页 >系统教程 >LINUX >bash脚本简介[26个主题]

bash脚本简介[26个主题]

Joseph Gordon-Levitt
Joseph Gordon-Levitt原创
2025-03-15 11:19:15247浏览

如果您正在学习学习bash脚本的第一步,那么您来了。这本《狂欢脚本介绍指南》的介绍是通过许多不同的主题创建的,可以使您在编写第一个bash脚本方面感到舒适。

在学习外壳脚本之前,您应该了解如何与终端一起工作并运行一些基本命令,例如CD,CHMOD,LS,CP,MV等,以及对Linux过程的理解。

目录

bash shell脚本脚本教程系列初学者

我们创建了一系列涵盖Bash Shell脚本的核心方面的文章,下面是每篇文章的链接。

  1. bash脚本简介
  2. bash中的变量
  3. bash中的回声命令
  4. bash中的printf命令
  5. 弹奏中的弦乐操纵
  6. 重定向
  7. 狂欢中的有条件陈述
  8. bash中的案例语句
  9. bash中的循环
  10. 及直到循环
  11. bash选择循环
  12. bash的功能
  13. 索引阵列
  14. 关联阵列
  15. bash声明命令用法和示例
  16. Heredoc在Bash中
  17. getopts-创建脚本以解析命令行参数
  18. 用bash脚本处理日期和时间
  19. 如何在Linux中的bash脚本中解析CSV文件
  20. bash脚本调试技术
  21. Zenity-在bash脚本中创建GUI对话框
  22. Whiptail-在bash脚本中创建GUI对话框
  23. SHFMT-格式壳脚本
  24. ShellCheck-静态分析工具
  25. 如何在狂欢中执行算术操作
  26. 使用是,否,取消提示

Linux中的外壳是什么?

Shell是通过接受用户或进程提交的一组命令来直接与内核交互的接口。

存在许多类型的贝壳,例如鱼,ZSH,CSH等。 Bash是最受欢迎的。

bash( b我们的收获地狱)源自SH(Bourne Shell)。 Bourne Shell的设计旨在遵守POSIX标准,许多受欢迎的外壳(如Bash,Dash,Zsh等)源自Bourne Shell。随着时间的流逝,BASH添加了一组更丰富的功能,并且不符合Posix标准。

最初,Bourne Shell(SH)再次与Bourne Shell(bash)链接,但现在将其与Dash Shell进行了链接。如果您试图使用Bourne Shell(SH)来编写脚本,以为它指向击打,那么它可能不会得到正确的正确性。在编写脚本之前,请先检查一下如何在计算机中实现Bourne Shell。

 $ <strong>LS -LN/usr/bin/bash/usr/bin/sh</strong>
-RWXR-XR-X 1 0 0 1404744 3月19日2021年/usr/bin/bash
lrwxrwxrwx 1 0 0 4 3月24日2021年3月<mark>/usr/bin/sh->仪表板</mark>

您可以运行以下命令以检查有关您的外壳环境的信息。

要检查操作系统中已安装的外壳列表,请运行以下命令。安装的外壳列表可能会根据您的操作系统而有所不同。

 $ <strong>cat /etc /shells</strong>
# /etc /shells:有效的登录外壳
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
/usr/bin/sh
/usr/bin/tmux

要检查当前的外壳运行以下命令:

 $ <strong>echo $ shell</strong>
/usr/bin/bash

要检查Bash Shell的版本,请运行以下命令:

 $ bash- version

样本输出:

 gnu bash,<mark>版本5.1.4(1)-Release(x86_64-pc-linux-gnu)</mark>
版权所有(C)2020 Free Software Foundation,Inc。
许可GPLV3:GNU GPL版本3或更高版本<http:>

这是免费软件;您可以自由更改并重新分配它。
在法律允许的范围内,没有保证。</http:>

文件扩展

Linux将所有内容都视为文件,并且不得强制添加脚本的扩展名(.sh或.bash)。尽管这不是强制性的,但我建议您在Shell脚本中添加扩展名,因此您可以知道您正在处理哪种类型的文件。

在Linux中创建文件时,请尝试避免文件之间的空间,并添加下划线作为分离器。原因是,当文件名之间有一个空间时,您要么必须添加双引号或使用后斜击。

 $ touch/home/$ {user}/documents/“ first script.sh”
 $ LS -L/home/$ {user}/documents/<mark>第一个\ script.sh</mark>
-rw-rw-r-- 1 Karthick Karthick 0 10月21日22:55'/home/karthick/documents/first script.sh'
 $ LS -L/home/$ {user}/documents/<mark> “第一个脚本.sh”</mark>
-rw-rw-r-- 1 Karthick Karthick 0 10月21日22:55'/home/karthick/documents/first script.sh'

什么是Shebang?

Shebang是创建脚本时您编写的第一行。 Shebang指向口译员的绝对道路。例如,如果您正在编写Bash脚本,则Shebang系列应如下。

 #!/usr/bin/bash

或者,

 #!/bin/bash

您还可以通过运行类型命令找到解释器路径。

 <strong>$ type -a bash</strong>
bash是/usr/bin/bash
bash是 /bin /bash

Shebang不仅绑在bash脚本上。即使您使用Python,Perl或任何其他语言创建程序,您也必须将Shebang指向解释器。

 #!/usr/bin/python3
#!/usr/bin/perl

也可以在没有Shebang的情况下创建和运行脚本,但是作为一个很好的做法,总是尝试将Shebang作为您脚本中的第一行。

绝对路径和相对路径

在运行第一个脚本之前,您应该了解绝对路径相对路径之间的区别。

绝对路径- 指向从层次结构(/)顶部开始的文件的完整路径。例如,如果您在桌面下有名为“ first_script.sh”的脚本,则绝对路径将为“/home/username/desktop/first_script.sh”。

相对路径- 在相对路径中,该文件存在于当前工作目录中。在每个目录中,您都可以找到两个目录( .. )。单点点指向您所处的当前目录。双点点在当前目录上方的一个目录上。换句话说,单点表示当前目录,而双点表示父目录。

创建和运行第一个bash脚本的步骤

创建和运行脚本是一个四步过程。

1。使用.sh扩展名创建一个新文件。您可以直接从文本编辑器创建文件并保存文件。我正在使用touch命令来创建文件。

 $ touch/home/juser }/first_script.sh

2。授予执行脚本的权限。

 $ chmod ux/home/$ {user }/first_script.sh

3。复制粘贴在下面的代码下并保存。

 #!/usr/bin/bash

回声“嗨。这是您学习bash脚本的第一步”

bash脚本简介[26个主题]

4。运行脚本。有不同的方法触发脚本。如上一节中所述,您可以使用绝对路径或相对路径调用脚本。

 #使用完整路径触发。
$ /home/juser }/first_script.sh

bash脚本简介[26个主题]

在相对路径中,您必须添加一个 )并向前斜杠( / )指向当前目录,然后是脚本名称。

 #使用相对路径触发。
$ cd/home/$ {用户}/
$ ./first_script.sh

bash脚本简介[26个主题]

评论的重要性

评论在BASH脚本中非常重要。它将帮助您或与您合作的人了解脚本的目的以及其工作原理。在Bash中,您可以使用#符号(哈希)来创建注释。除Shebang行以外,您前面的任何线条都将由#符号视为评论。

看看下图。不要专注于该程序的作用,而只是专注于评论部分。

bash脚本简介[26个主题]

  1. 包括脚本相关的信息,例如作者,脚本创建日期,版本等。根据您的要求,您可以添加更多信息。
  2. 块评论将帮助您了解评论后的代码。
  3. 内联评论与该声明相同的行添加。它告诉您那条特定的行在做什么。在这里,我的内联评论表明它正在调用虚拟功能。

当您编写大量bash脚本时,您会知道写评论的最佳实践。

结论

这是一系列bash脚本的介绍文章,其中涵盖了重要主题,例如文件扩展名,shebang和评论,以使您编写第一个Shell脚本。在介绍部分中,我们提供了与本系列中所有文章的链接。

如果您在Linux环境中工作,则bash脚本是您无法忽略的。如果您已经有编程经验,那么学习bash将不是一个障碍。

对于任何反馈,请使用评论部分,我们很高兴收到您的来信。

以上是bash脚本简介[26个主题]的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn