Shell 编程基础(...)



1、基础概念

Shell 程序一般被称为脚本Script),是一组命令的集合,最简单的甚至可以单纯地堆砌命令,就像前文中提到的 Shell 文件。这种脚本最明显的好处是 重复一系列固定命令时 减少敲击键盘的次数。

若需更复杂的逻辑与功能,就要引入一些新的概念如:变量、表达式、流程控制和函数等。此时的它已具完整程序的特征,但亦与前文大量提到的 C 程序有明显差异:C 语言写成的程序是源码,需将.c 和.h 等文件使用编译工具处理成为二进制可执行文件后,才可以执行并看到结果;而 Shell 脚本只需要给脚本文件加上可执行权限。
此差异显示了脚本程序一个显著的特征:解释执行。

Shell 解释脚本的过程就是从一个文件读入字符流,然后进行处理,最后把结果送到一个文件,故交互式 Shell执行脚本的 Shell本质上并无区别。只不过交互式运行的 Shell 的输入文件标准输入输出文件标准输出Ctrl+D组合键会在 标准输入上产生一个 文件尾,因此在交互式 Shell中可以用这个组合键直接退出 Shell。

Shell 脚本作为程序,也可以有注释Shell从任意地方非转义#字符开始,到行末都被认为是注释,解释的时候当作空白字符。

1.1 Sha-Bang

Sha-Bang 就是通常脚本开头的头两个字符“#!”连在一起的读音。一般说来,任何一个脚本程序都应以其为起始。它们就是脚本文件有执行权限就能被直接执行的秘密所在。
#!是一个魔数(Magic,其值为 0x23,0x21),可执行文件在被读取的时候,内核通过这个特定的数字组合识别出这是一个需要运行解释器的脚本,并且根据约定将其后的字符串在读到换行以前解释成该脚本需要的解释器所在路径。然后系统根据路径调用解释器,最后再把整个文本的内容传递给解释器。脚本内容如何解释,执行什么动作就交由解释器负责。
所以,Shell 脚本虽然是一个纯文本文件,但依然可以被正常执行。

Shell 脚本,一般以 #!/bin/sh#!/bin/bash 开头,表明脚本使用的解释器是 sh(POSIX Shell) 或者 bash。

1.2 字符串与引号

2、必要高级概念

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值