写在前面最近在琢磨“Lua热重载”,在测试中发现我之前对Lua中的面向对象实现有一些理解发生变化,这里记录一下。类实现《Lua程序设计(第4版)》以银行账户存取钱为例,解释了如何实现一个类。从“面向对象的3大特性”角度,它的实现概括如下:
继承:改__index引向自己多态:不用新建其他类,会自动找到对应方法(多重继承,书上举例是用查找父类方法实现的)封装:
单方法:将公开的字段和函数放在单独表中
redis调用lua批量删除key及其相关数据
转载
2023-05-25 10:55:10
528阅读
char **argv和char *argv[]可以认为基本一样(当然这两者是有些区别的,但大部分情况下可认为是一样的).我对argv的理解是:argv是一个指向字符串指针的指针。所以,假设:char *p = "aaaa";(const char *p)char **argv = p;则:argv = &p(argv存储的值就是p的地址)*argv = p(argv取值就是p所指向的地址
原创
2015-03-19 17:51:22
2711阅读
Lua 是什么? 1993 年在巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro in Brazil)诞生了一门编程语言, 发明者是该校的三位研究人员, 他们给这 门语言取了个浪漫的名字—— Lua , 在葡萄牙语里代表美丽的月亮。 事实证明她 没有糟蹋这个优美的单词, Lua 语言正如它名字所预示的那样成长为一
转载
2024-04-15 13:36:05
80阅读
文章目录目标提出一个问题?保证原子性操作的两种做法Redis Lua 脚本命令EVAL 命令调用执行Redis 命令EVALSHA使用场景Lua 脚本语法常用类库调试与日志开启Redis 日志Spring boot 集成资料参考Controller注意RedisScriptLua脚本程序执行日志其他命令注意 目标了解Redis Lua脚本知识参考:使用redisTemplate设置过期时间是不是
转载
2024-03-11 09:05:43
46阅读
bash shell 脚本的方法有多种,假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限。方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:复制代码代码如下:cd /data/shell./hello.sh./的意思是说在当前的工作目录下执行hello.sh。如果不加上./ ,bash可能会响
转载
2024-01-11 11:26:24
95阅读
有两种方式执行shell scripts,一种是新产生一个shell,然后执行相应的shell scripts;一种是在当前shell下执行,不再启用其他shell。方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:复制代码 代码如下:cd /data/shell
./hello.sh方法二:以绝对路径的方式去执行bash shell脚本:复制代码 代码如下:/dat
转载
2023-10-17 14:57:35
1293阅读
什么是Shell?Shell是用户与内核进行交互操作的一种接口,目前最流行的Shell称为bash ShellShell也是一门编程语言<解释型的编程语言>,即shell脚本一个系统可以存在多个shell,可以通过cat /etc/shells命令查看系统中安装的shell,不同的shell可能支持的命令语法是不相同的一个规范的Shell脚本在第一行会指出由哪个程序(解释器)来执行脚本
转载
2023-11-28 07:12:59
635阅读
文章目录前言shell函数的定义函数的优势shell 函数的调用实战案例总结前言Shell 函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好了,放在了指定的位置,使用时直接调取即可。Shell 中的函数和C++、Java、Python
原创
2022-02-19 15:41:41
1162阅读
一、如何抒写shell脚本 1、shell脚本的命名 名字要有意义,不要以a、b、c、1、2、3这种方式命令,建议以sh结尾,在30个字节内,例如:check_memory.sh 2、shell脚本的格式 shell脚本开头必须指定运行环境以#!这个特殊组合来组成,如:#!/bin/bash指该脚本 ...
转载
2021-07-18 22:50:00
863阅读
2评论
while循环循环语句常用于重复执行一条指令或一组指令,直到条件不满足停止,shell脚本语言的循环语句常见的有while、until、for、select循环语句,其中,until和select已经基本淡出历史舞台。本章讲while循环 while循环语句主要用来重复执行一组命令会语句。在企业中常用于守护进程或持续运行的程序,也有时候会用while来读取文件的每一行内容7.1 while语法wh
转载
2024-02-23 23:12:30
306阅读
目录一、while 介绍1.1 while 语法二、while 与 shell 运算2.1 比较运算2.2 逻辑运算2.3 文件类型判断2.4 特殊条件三、while 与循环控制语句3.1 sleep 语句3.2 break3.3 continue四、while 嵌套其他语句4.1 while 嵌套 if4.2 while 嵌套 for 4.3 while 嵌套 while &
转载
2024-04-30 14:13:00
112阅读
循环 for循环 用于已知循环次数的场景1、基本格式 for 变量名称(注意是名称不是变量$等) [ in 名称范围 ] (可以不写)do 执行内容 若满足循环则做什么动作done for循环结束标志for i in $(cat /opt/use
转载
2024-02-14 14:11:04
94阅读
理论部分:循环的意思就是让程序重复地执行某些语句;whiler循环就是循环结构的一种,当事先不知道循环该执行多少次,就要用到while循环;while循环语句的运行过程使用while循环语句时,可以根据特定的条件反复执行一个命令,直到条件不满足为止;while会出现死循环的过程,因此循环体内的命令序列内应包括修改测试条件的语句while语句的语法结构:注意:使用while循环语句时,有两个特殊的条
转载
2024-04-11 10:46:20
76阅读
1.前言Redis实现分布式锁,本身比较简单,就是Redis中一个简单的KEY。一般都利用setnx(set if not exists)指令可以非常简单的实现加锁,锁用完后,再调用del指令释放锁。要确保锁可用,一般需要解决几个问题:不能出现死锁情况,一个获得锁的客户端宕机或者异常后,要保障其他客户端也能获得锁。应用程序通过网络与Redis交互,为避免网络延迟以及获取锁线程与其他线程不冲突,需要
转载
2024-06-04 10:56:31
100阅读
文章目录前言shell函数的定义函数的优势shell 函数的调用实战案例总结前言Shell 函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好了,放在了指定的位置,使用时直接调取即可。
原创
2021-04-17 23:33:46
1698阅读
点赞
配置 bash Shell忽略命令大小写 |按“上“键显示该命令的历史 当按“上键”时,能够显示前一个历史命令。但是,这还 不太方便,下面的这个配置,可以让bash输入的命令头按“上“键显示该命令的历史,比如:输入 vim ,然后按”上“键,此时,可以显...
转载
2016-02-04 23:19:00
626阅读
2评论
一、开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。 当编写脚本完成时,如果要执行该脚本,还必须使其可执行。 要使编写脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行二、注释 在进行shell编程时,以#开头的句子表示注释,
转载
2023-12-07 02:26:47
142阅读
最近在调试服务器程序的时候,经常要重启进程,每次都要先查看PID、再kill掉、再启动进程,启动完了还要查看是不是启动成功了。略烦。
于是想要写个shell脚本做以上几件事,一了百了。
功能需求:
1、杀死指定进程
2、启动指定进程
3、检查指定进程是否启动
转载
2023-12-01 11:01:03
125阅读
执行Shell脚本的方式基本上有三种:(1)输入定向到Shell脚本这种方式是用输入重定向方式让Shell从给定文件中读入命令行并进行相应处理。其一般形式是:$ bash < 脚本名例如:bash <test.sh$ bash Shell从文件ex1中读取命令行,并执行它们。当Shell到达文件末尾时就终止执行,并把控制返回到Shell命令状态。此时,脚本名后面不能带参数。(2)以脚本
转载
2023-09-05 21:22:10
454阅读