解释器|一个响指能删除计算机里的一半文件?
文章插图
如何一个响指删除计算机里的一半文件?0.好好练习打响指(最好能打得响一点) , 顺便准备一台能运行 bash 的计算机
1.写一个 shell 文件并保存好 , 文件内容如下:
文章插图
2.执行这个文件 , 同时打响一个响指
3.恭喜你!
4.把你的电脑送去维修
注意:千万不要对公司的电脑使用 , 如果你还不想跑路 。 也不要对朋友的电脑使用 , 如果你还珍惜你们之间的友谊小船 。
这段 shell 程序来源于 Github 仓库 GitHub - hotvulcan/Thanos.sh: if you are Thanos(root), this command could delete half your files randomly
它确实可以删除你电脑上的一半程序 , 不要问我怎么知道的 , 所以请谨慎使用...... 在日常生活中(我是指程序员的日常生活) , 我们经常需要写 shell , 很多人忽视了 shell 的重要性 。
这门语言古老强大坑多 , 几乎每个程序员都会用到 , 当然在很多岗位的笔试/面试中也会涉及 。
本系列图文将介绍 Shell 和 Shell 脚本的基本语法 , 它可以作为你接触 shell 的第一课 , 也可当作你编写 shell 的参考 , 最后我们将讲解上面提到的「灭霸.sh」是如何实现删除计算机内一半文件的 。
在这篇文章中 , 我们将介绍「Shell 简介」 , 「第一行 Shell」和「Shell 变量」三部分 。
文章插图
Shell 简介在 Linux 内核系统下 , 我们经常会执行 cd , mkdir , ls 之类的指令 , 他们都是 Shell 指令 。 就像在终端中输入 python 就可以进入 Python 交互编程环境编写 Python 一样 , 你可以把系统的终端(terminal)都当成是一个 Shell 语言的交互编程环境 。 对于大多数开发者来讲 , 我们早就在编写 Shell 了 。
更确切的说 , Shell 本身种类众多 , 大部分 Linux 系统默认的 Shell 叫做 Bourne Again Shell , 也就是我们常说的 Bash 。 还有另一种 Shell 类型叫做 Bourne Shell , 一般我们不做区分 。 这篇文章也只关注这两类 Shell 。
当然 , 通过写好一个 Shell 脚本 , 再使用解释器执行再某些情况下更为实用 。 你需要先保存好一个 Shell 脚本文件 , 比如叫做 test.sh , 先 cd 到相应的目录下 。 运行 Shell 脚本的方法有以下两种:
第一种是作为可执行程序直接执行 , 示例如下:
文章插图
第二种是作为解释器参数执行 , 示例如下:
文章插图
以上两段代码来自于Shell 教程 | 菜鸟教程 。
文章插图
第一行 Shell
第一行
在 Shell 脚本的第一行 , 我们要指定一个解释器的路径 , 告诉操作系统用此处的解释器解释这个脚本文件:
文章插图
#! 这个操作符叫做 shebang , 注意要将它和注释记号区分开 。
上面这段代码的意思是告诉系统这个文件要用 /bin/sh (一般 Bourne shell 在系统中的路径)来
注释
注释
Shell 程序的注释语法如下:
文章插图
文章插图
Shell 变量
声明变量
文章插图
注意 , 在 Shell 里声明变量 , 等号的两边不能有空格 , 否则 Shell 会错把你的变量名当作某个命令 , 变量名需遵循如下规则:
- 命名只能使用英文字母 , 数字和下划线 , 首个字符不能以数字开头 。
- 中间不能有空格 , 可以使用下划线(_) 。
- 不能使用标点符号 。
- 不能使用bash里的关键字(可用help命令查看保留关键字) 。
在变量名前面加美元符号可以使用该变量:
文章插图
有的时候我们需要在美元符号和变量中间添加一个花括号来区分变量名和其他内容之间的边界:
文章插图
- 车企|华为不造车!但任正非加了一个有效期,3年
- 同轴心配合|用SolidWorks画一个直角传动,画四个零件就行
- 先别|用了周冬雨的照片,我会成为下一个被告?自媒体创作者先别自乱阵脚
- 丹丹|福佑卡车创始人兼CEO单丹丹:数字领航 驶向下一个十年
- 发展|新基建发展迅猛,必然会是一个巨大的市场机遇
- 缺点|骁龙865+12GB已降至2399,X轴马达+55W快充,缺点只有一个
- 空间|垃圾文件正在吞噬你的C盘空间用这四种方法,还你一个干净的C盘
- 商业|AC有望建立一个商业帝国吗?
- 中国汽车|2020年,我们攒了一个局,串了一条链,下了一盘棋
- 走心|平安夜还在送苹果?太不走心了,教你几招,快来物色一个