目录
学习连接
什么是shell
shell的分类
查看当前系统支持shell
学习前提
开始学习
第一种执行脚本方法
编辑 第二种执行脚本方法
第三种执行脚本方法
变量声明和定义
编辑 查看变量
删除变量
学习连接
声明!
学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[B站泷羽sec]
shell编程
什么是shell
Shell又称命令解释器,它能识别用户输入的各种命令,并传递给操作系统。它的作用类似于Windows操作系统中的命令行,但是,Shell的功能远比命令行强大的多。在UNIX或者localhost中,Shell既是用户交互的界面,也是控制系
shell的分类
Bourne Shell:标识为sh,该Shell由Steve Bourne在贝尔实验室时编写。在许多Unix系统中,该Shell是root用户的默认的Shell。
Bourne-Again Shell:标识为bash,该Shell由Brian Fox在1987年编写,是绝大多数localhost发行版的默认的Shell。
Korn Shell:标识为ksh,该Shell由贝尔实验室的David Korn在二十世纪八十年代早期编写。它完全向上兼容 Bourne Shell 并包含了C Shell 的很多特性。
C Shell:标识为csh,该Shell由Bill Joy在BSD系统上开发。由于其语法类似于C语言,因此称为C Shell。
查看当前系统支持shell
下面代码执行都在kali中执行
cat /etc/shells
学习前提
学习shell需要学习vim编辑器,这个东西就是类似于windows记事本的东西,依照vim编辑器的规则去编写文件内容(vim编辑器这个大家可以在网络上搜索,一个小时就可以简单掌握)
熟练掌握Linux命令
开始学习
第一种执行脚本方法
创建文件
这里vim打开一个文件后,并且在里面写入了内容后就会直接将这个文件创建出来
第一行写声明,声明当前的shell脚本使用哪个命令解释器去解释:#!/bin/bash
(这个#不是注释)
第二行开始写入你要执行的命令,这里写的是hello world
保存并退出加权,在图片里面可以看到文件拥有者已经有执行文件的权限了
./1执行文件,这里执行所使用的路径是相对路径,当然也可以使用绝对路径
第二种执行脚本方法
创建2文件
文件中直接吸入 echo hello world
直接bash执行,注意我此时并没有加权
我们执行后这里提示权限不够
我们使用脚本解释器直接执行,全部都可以执行,这里是因为脚本解释器自己就有权限
第三种执行脚本方法
利用source命令,source命令是一个shell内部命令,其功能是读取指定的shell程序文件,并且依次执行其中的所有的语句,并没有创建新的子shell进程,所以脚本里面所有创建的变量都会保存到当前的shell里面,这个命令也不需要执行权限
变量声明和定义
定义:变量名=变量内容
使用:$变量名
(一般来说这里加不加引号效果是相同的,但是如果你在引用变量时加''就会直接把这个$变量名当作字符串输出,相当于一个转义字符)
双引号和花括号括起来可以进行字符串的拼接
查看变量
set
set | grep 变量名
查看指定变量
删除变量
unset old
这里删除了再看就没有了