关于shell:如何入门使用-Linux-Shell-脚本

43次阅读

共计 2588 个字符,预计需要花费 7 分钟才能阅读完成。

什么是 Shell?

shell 是 类 Unix / Linux 操作系统中的解释器,它获取用户键入的命令,并调用操作系统运行这些命令。简略地说,shell 充当的是操作系统的包装器角色。例如,您能够应用 shell 输出 ls 命令来列出目录中的文件,输出 cp 命令执行复制操作。

$ ls
Desktop Documents Downloads Music Pictures playbook.yaml Public snap Templates test5 Videos
$

在本例中,当您简略地输出 ls 并按下 enter 时。$ 是 shell 提示符,它告诉您 shell 正在期待您的命令。其余行是当前目录中的文件名。

什么是 Shell 提示符?

提示符 $ 被称为命令提示符,由 shell 收回。当提示符显示时,您能够输出命令。shell 在出现后读取您的输出。它通过查看输出的第一个单词来确定要执行的命令。单词是一组残缺的字符。空格和制表符分隔单词。

有哪些不同类型的 shell?

因为 shell 没有被垄断,您能够运行任何你喜爱的 shell,然而咱们有必要晓得其它代替计划是很有帮忙,以下是是一些常见的可供 UNIX / Linux 应用的 shell 列表。

Bourne Shell

最后的 Unix Shell 被称为 sh,是 Shell 或 Bourne Shell 的缩写,以 sh 的创建者 steven Bourne 命名。这在简直所有的 Unix 类操作系统上都可用。Basic bourne shell 只反对最无限的命令行编辑,您能够输出字符,用退格键删除一个字符,按回车键来执行命令。如果命令行出错,能够按 Ctrl-C 勾销整个命令。

C Shell

它是由加州大学伯克利分校的 Bill Joy 设计的,C shell 之所以如此命名,是因为它的许多语法与 C 编程语言类似。这个 shell 为 Bourne shell 增加了一些简洁的个性,特地是可能召回以前的命令以帮忙创立未来的命令。因为很可能须要执行多个命令来执行一个特定的工作,所以这个 C shell 性能十分有用。

Korn Shell

它是由 AT&T Bell 实验室的 David Korn 创立的,Korn shell 或 ksh 提供了 C shell 提供的雷同类型的加强,但有一个重要的区别:Korn shell 向后兼容较老的 Bourne shell Synatx。在 AIX 和 HP-UX 等 UNIX 零碎中,korn shell 是默认 shell。

Bash (Bourne Again Shell)

Bash 提供了像 korn shell 一样的命令行编辑性能,像 C shell 一样的文件名实现性能,以及许多其余高级个性。许多用户认为 bash 在一个 shell 中汇合了 Korn 和 C shell 的长处。在 Linux 和 Mac OS X 零碎中,bash 是默认 shell。

tcsh (TC Shell)

Linux 零碎遍及了 tc shell (tcsh),tcsh 扩大了传统的 csh,减少了命令行编辑、文件名补全等性能。例如,当您按 Tab 键 (与 bash 中应用的键雷同) 时,tcsh 将补全文件和目录名。旧的 C shell 不反对这个个性。

什么是 Shell Script ?

Shell Script 是一个蕴含一个或多个命令的文本文件。在 shell 脚本中,shell 假设文本文件的每一行都蕴含一个独自的命令。这些命令在大多数状况下看起来就像在 shell 窗口中键入的一样。

为何应用 Shell Script ?

Shell Script 用于自动化治理工作,封装简单的配置细节,并取得操作系统的全副性能。组合命令的能力容许您创立新的命令,从而为您的操作系统减少价值。此外,将 shell 与图形化桌面环境联合起来能够使您取得两方面的劣势。

在 Linux 系统管理员日常工作中,每天反复的工作能够应用 shell 脚本自动化,这节俭了工夫,并容许管理员进行高质量的工作。

创立 Shell Script

在当前目录中创立一个名为 myScript.sh 的文本文件,所有 Shell 脚本都具备 .sh 扩展名。Shell 脚本的第一行是 #!/bin/sh#!/bin/bash,它被称为 Shebang,指明命令应用 SH 或 Bash Shell 解释器执行。

#!/bin/bash
# Written by LinuxTechi
echo
echo "Current Working Directory: $(pwd)"
echo
echo "Today' Date & Time: $(date)"
DISK=$(df -Th)
echo
echo "Disk Space on System:"
echo "$DISK"

下面的 shell 脚本将显示当前工作,明天的日期和工夫以及文件系统磁盘空间。咱们应用了 echo 命令和其余 linux 命令来构建这个脚本。

应用 chmod 命令调配可执行权限

$ chmod a+x myscript.sh

当初执行脚本

$ sh myscript.sh
or
$ ./myscript.sh

留神: 要执行当前目录中 shell 脚本,请应用 ./{script-name},如下所示

在 Shell Script 中承受用户的输出

Read 命令用于获取用户通过键盘输入的值并将值赋给一个变量,Echo 命令用于查问查问内容。

让咱们批改下面的脚本,以便它开始承受输出

#!/bin/bash
# Written by LinuxTechi
read -p "Your Name:" NAME
echo
echo "Today' Date & Time: $(date)"
echo
read -p "Enter the file system:" DISK
echo "$(df -Th $DISK)"

当初,尝试执行脚本,这次应该会提醒输出详细信息。

$ ./myscript.sh
Your Name: Pradeep Kumar

Today' Date & Time: Sat 15 Oct 05:32:38 BST 2022

Enter the file system:/mnt/data
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/volgrp01-lv01 ext4 14G 24K 13G 1% /mnt/data
$

完满,下面的输入证实了脚本正在提醒输出和解决数据。

扩大浏览: How to Debug a Bash Shell Script in Linux

我的开源我的项目

  • course-tencent-cloud(酷瓜云课堂 – gitee 仓库)
  • course-tencent-cloud(酷瓜云课堂 – github 仓库)

正文完
 0