Linux学习笔记(二十一)之shell编程

本文介绍了Linux Shell的基础概念,包括shell的定义、作用以及shell脚本。解释了shebang的作用,详细阐述了shell脚本的编写规则,如变量定义、特殊字符的使用,以及变量的作用域。还探讨了shell的环境变量、内置命令与外置命令的区别,并提到了子shell的创建及其应用场景。
摘要由CSDN通过智能技术生成

(一)基础概念

1、什么是shell?
shell也是一种编程语言,只是比较古老。shell是由C语言开发出来的,是一种弱数据类型的脚本语言,无需声明变量类型,直接定义使用,默认的都是字符串类型。
对于linux操作系统内部应用而言,shell是最好的工具,因为linux底层命令都支持shell语句,以及结合grep、sed、awk进行的高级用法。
shell的作用是:
解释执行用户输入的命令或程序等
用户输入一条命令,shell就解释一条
键盘输入命令,linux给与响应的方式,称之为交互。

 

 

bash就是一个命令处理器,运行在文本窗口中,能执行用户直接输入的命令。

bash还能从文件中读取linux命令,称之为脚本。

bash支持通配符、管道、命令替换、条件判断等逻辑控制语句。

2、什么是shell脚本?
shell脚本是一个文件,这个文件里面是程序代码,比如是多条linux命令以及循环控制语句等。计算机执行这个文件,就是计算机读取这个文件中的代码,然后将这些linux命令一次执行完毕。计算机在执行shell脚本文件的时候是不需要交互的,就是非交互方式执行的,一旦代码有问题,出现交互,就表示没有一次执行完毕所有的语句,是执行半截卡住了,就得重新修改代码逻辑。
linux系统中常用 *.sh 脚本文件;通常用vim编辑;由linux命令、bash shell 指令、逻辑控制语句和注释信息组成。
shell脚本语言非常适合处理纯文本类型数据,如日志、配置文件、文本、网页文件。

3、shebang
shebang是指出现在文本文件的第一行前两个字符 #!
在unix系统中,程序会分析#!字符后面的内容,作为解释器的指令,比如:
以#!/bin/sh 开头的文件,程序在执行的时候会调用/bin/sh,也就是bash解释器
以#!/usr/bin/python 开头的文件,就代表指定python解释器去执行。
如果没有指定shebang,脚本执行的时候就默认用shell去解释脚本。
如果指定了shebang,脚本执行的时候,文件名就会作为参数传递给指定的解释器。
如果指定的解释器没有可执行权限,则会报:bad interpreter:permission denied.
如果脚本是一个不可执行文件,那么指定的解释器程序会被忽略,转而交给当前的shell去执行这个脚本。
如果脚本指定的解释器不存,则会报:bad interpreter:no such file or directory.
#!后面的解释程序的路径要写绝对路径,因为不会自动到path中自己寻找解释器的。
如果用户使用bash test.sh命令执行test.sh脚本的时候,#!一行将被忽略,优先使用用户指定的解释器。

4、简单示例 

 

5、shell变量规则

定义变量的规则:
(1)变量和赋值之间不得有空格,因为在linux中空格一般是命令和参数之间加空格的,所以有空格就被识别为命令和参数的意思了,去找这个命令就会报错,没有这个命令。
(2)名称不得用关键字、不得以数字开头、不得用标点符号、严格区分大小写。只能包含字母、数字、下划线。

(2)变量类型

比如,变量age=18和a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

传说三哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值