了解 Linux Shell 和基本 Shell 脚本语言技巧 - 第一部分
图像胜过文字,下面的图片说明了Linux的所有工作原理。
另请阅读
理解 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 还提供各种有用的编程功能,使脚本真正强大。
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 example Hey i am example 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
好吧,这不是结束。我们试图让您领略一下脚本的魅力。在我们未来的文章中,我们将详细阐述这个脚本语言主题,而不是一个永无止境的脚本语言主题,以使其更加完美。非常感谢您在评论中提出宝贵的想法,点赞和分享我们,帮助我们传播。在那之前,请放松,保持联系,继续关注。