了解 Linux Shell 和基本 Shell 脚本语言技巧 - 第一部分
图片胜于雄辩,下图说明了Linux的工作原理。
另请阅读
- 学习 Shell 编程的 5 个 Shell 脚本 – 第二部分
- 畅游 Linux BASH 脚本世界 – 第三部分
了解 Linux Shell
- Shell:命令行解释器,将用户连接到操作系统,并允许执行命令或创建文本脚本。
- 进程:用户在系统中运行的任何任务都称为进程。流程比任务复杂一点。
- 文件:它驻留在硬盘 (hdd) 上,包含用户拥有的数据。
- X-windows 又名 Windows:Linux 的一种模式,其中屏幕(监视器)可以分割成称为窗口<的小“部分”,允许用户同时执行多项操作和/或轻松地从一项任务切换到另一项任务,并以良好的方式查看图形。
- 文本终端:仅具有显示文本功能、没有图形或非常基本的图形显示功能的监视器。
- 会话:登录打开系统和注销系统之间的时间。
标准 Linux 发行版上的 Shell 类型
Bourne shell :Bourne shell 是早期版本中使用的主要 shell 之一,并成为事实上的标准。它是由贝尔实验室的Stephen Bourne编写的。每个类 Unix 系统都至少有一个与 Bourne shell 兼容的 shell。 Bourne shell 程序名称为“sh”,通常位于文件系统层次结构中的/bin/sh。
C shell:C shell 是由 Bill Joy 为 Berkeley Software Distribution 开发的。其语法模仿C编程语言。它主要用于交互式终端使用,但较少用于脚本编写和操作系统控制。 C shell 有许多交互式命令。
乐趣开始! (Linux 外壳)
命令行用户存在数千个命令,如何记住所有这些命令?嗯!只是你不能。计算机的真正力量是简化您的工作,您需要自动化该过程,因此您需要脚本。
脚本是存储在文件中的命令的集合。 shell 可以读取此文件并执行命令,就像在键盘上键入命令一样。 shell 还提供了各种有用的编程功能,使脚本真正强大。
Shell 编程基础知识
- 要获得 Linux shell,您需要启动终端。
- 要查看您拥有的 shell,运行:echo $SHELL。
- 在 Linux 中,美元符号 ($) 代表 shell 变量。
- “echo”命令只会返回您输入的任何内容。
- 当链接多个命令时,管道指令 (|) 可以发挥作用。
- Linux命令有自己的语法,Linux不会原谅你的任何错误。如果你的命令错误,你不会不及格或损坏任何东西,但它不会起作用。
- #!/bin/sh – 它称为 shebang。它写在 shell 脚本的顶部,并将指令传递给程序/bin/sh。
关于 shell 脚本
Shell脚本只是一个简单的文本文件,扩展名为“.sh”,具有可执行权限。
编写和执行脚本的过程
- 打开终端。
- 使用“cd”命令导航到要创建脚本的位置。
- Cd(输入)[这将在您的主目录处出现提示]。
- touch hello.sh (这里我们将脚本命名为 hello,记住‘.sh’扩展名是强制性的)。
- vi hello.sh (nano hello.sh) [您可以使用您喜欢的编辑器,来编辑脚本]。
- chmod 744 hello.sh(使脚本可执行)。
- sh hello.sh 或 ./hello.sh (运行脚本)
编写你的第一个脚本
#!/bin/bash
My first script
echo "Hello World!"
将以上行保存在文本文件中,使其可执行并运行它,如上所述。
样本输出
Hello World!
在上面的代码中。
#!/bin/bash (is the shebang.)
My first script (is comment, anything following '#' is a comment)
echo “Hello World!” (is the main part of this script)
编写你的第二个脚本
是时候转到下一个脚本了。该脚本将告诉您您的“用户名”并列出正在运行的进程。
#! /bin/bash
echo "Hello $USER"
echo "Hey i am" $USER "and will be telling you about the current processes"
echo "Running processes List"
ps
使用上述代码创建一个文件,将其保存到您想要的任何位置,但扩展名为“.sh”,使其可执行并从终端运行它。
样本输出
Hello tecmint
Hey i am tecmint and will be telling you about the current processes
Running processes List
PID TTY TIME CMD
1111 pts/0 00:00:00 bash
1287 pts/0 00:00:00 sh
1288 pts/0 00:00:00 ps
这很酷吗?编写脚本就像获得想法并编写管道命令一样简单。也有一些限制。 Shell 脚本非常适合简洁的文件系统操作以及通过管道编写过滤器和命令行工具中现有功能组合的脚本。
当您的需求更大时 - 无论是功能、稳健性、性能、效率等 - 那么您可以转向一种功能更齐全的语言。
如果您已经了解C/Perl/Python编程语言或任何其他编程语言,那么学习脚本语言不会太困难。
编写你的第三个脚本
接下来,编写本文的第三个也是最后一个脚本。该脚本充当交互式脚本。您为什么不自己执行这个简单但交互式的脚本并告诉我们您的感受。
#! /bin/bash
echo "Hey what's Your First Name?";
read a;
echo "welcome Mr./Mrs. $a, would you like to tell us, Your Last Name";
read b;
echo "Thanks Mr./Mrs. $a $b for telling us your name";
echo "*******************"
echo "Mr./Mrs. $b, it's time to say you good bye"
样本输出
Hey what's Your First Name?
Avishek
welcome Mr./Mrs. Avishek, would you like to tell us, Your Last Name
Kumar
Thanks Mr./Mrs. Avishek Kumar for telling us your name
******************************************************
Mr./Mrs. Kumar, it's time to say you good bye
好吧,这还不是结束。我们试图让您体验一下脚本编写的乐趣。在我们以后的文章中,我们将详细阐述这个脚本语言主题,而不是一个永无止境的脚本语言主题,以使其更加完美。非常感谢您在评论中宝贵的想法,点赞并分享我们并帮助我们传播。在那之前,请保持冷静,保持联系,敬请关注。
另请阅读:学习 Shell 编程的 5 个 Shell 脚本 - 第二部分