Redis学习(13)之Lua脚本【环境准备】

news2024/11/25 10:50:15

文章目录

  • 一 Lua入门环境准备
    • 1.1 Lua简介
    • 1.2 Linux 系统安装Lua
      • 1.2.1 Lua 下载
      • 1.2.2 Lua 安装
    • 1.3 Hello World
      • 1.3.1 命令行模式
      • 1.3.2 脚本文件模式
      • 1.3.3 两种脚本运行方式
    • 1.4 Win安装Lua
      • 1.4.1 LuaForWindows的安装
      • 1.4.2 SciTE修改字体大小
      • 1.4.3 SciTE中文乱码
      • 1.4.4 SciTE快捷键

  • 工欲善其事,必先利其器。将环境准备好,也是很重要的
  • 可能对大部分人来说,这篇文章没什么意义。但是对于新手的小白来说,和以后我们需要再次配置的环境的时候,用自己亲自写的教程操作,还是可以避免很多不必要的问题的!
  • 诸君共勉,打好地基,才可以万丈高楼从地起!

一 Lua入门环境准备

1.1 Lua简介

  • Lua 是一个由标准 C 语言开发的、开源的、可扩展的、轻量级的、弱类型的、解释型脚本语言 ,是于 1993 年由巴西里约热内卢天主教大学的三人研究小组使用标准 C 语言开发。
  • Lua 的官网

1.2 Linux 系统安装Lua

1.2.1 Lua 下载

  • 若要使用 Lua 则需要先从 Lua 的官网下载其源码并安装。
    在这里插入图片描述

1.2.2 Lua 安装

  • 注意:centos7中有自带的Lua,但是本版很低。我们学习要安装最新版。所以,可能会有两个情况:
    • 第一种:在未手动安装Lua前,使用lua -v查看lua版本,即使安装成功后,仍然看到的是旧的版本。解决方法:重启linux
    • 第二种:在手动安装前,未使用linux自带的lua,安装结果将正常
  • 先将下载好的Lua 源码上传到 Linux,然后再进行安装。
  1. 解压:进入压缩包所在的目录,将 Lua 源码解压到/opt/apps 目录。
    • 注意:这里需要提前创建目录,否则会明确提示Error is not recoverable: exiting now
    tar -zxvf lua-5.4.4.tar.gz -C /opt/apps/
    
  2. 进入到/opt/apps/lua-5.4.4/ 目录可以看到编译用的Makefile文件及源码目录src
    在这里插入图片描述
  3. 安装 gcc【Lunix已安装请略过】由于Lua是由 C/C++语言编写的,所以对其进行编译就必须要使用相关编译器。对于C/C++语言的编译器,使用最多的是 gcc
    yum -y  install gcc gcc-c++
    
  4. 编译:执行编译命令 make linux test
make linux test

在这里插入图片描述
5. 安装:还是在lua-5.4.4目录下

make install

在这里插入图片描述
6. 安装完毕后,可以通过 lua –v 查看版本号
在这里插入图片描述

  • 注意:lua可以在任何一个目录下执行,因为安装过程已经自动配置环境变量

1.3 Hello World

  • 两种交互模式
  • Lua 为用户提供了两种交互模式:命令行模式与脚本文件模式

1.3.1 命令行模式

  • 在任意目录下使用 lua 命令进入 lua 命令行模式,在其中输入语句后回车即可运行显示出结果。使用 Ctrl + C 退出模式。
  • 注意,lua 对语句后的分号要求不是强制性的,有没有都行
    在这里插入图片描述

1.3.2 脚本文件模式

  • 该模式是先要编写脚本文件,然后再使用 lua 命令来运行文件
  • 在当前用户主目录中创建一个名称为 hello.lua 的文件,文件中就写一名 print()语句即可。然后直接运行“lua 脚本文件”即可看到结果。
    在这里插入图片描述

1.3.3 两种脚本运行方式

  • 对于脚本文件的运行有两种方式。一种是上面的 lua 命令方式,还有一种是可执行文件方式。可执行文件方式是,将 lua 脚本文件直接修改为可执行文件运行。
  • 下面就使用第二种方式来运行。
  1. 修改脚本文件内容
    • 脚本文件第一行增加#!/usr/bin/lua,表示当前文件将使用/usr/bin/lua 命令来运行
  2. 修改脚本文件权限
    • 为脚本文件赋予可执行权限
    chmod 755 xxx.lua
    
  3. 运行
    • 直接使用文件名即可运行
      在这里插入图片描述

1.4 Win安装Lua

  • 这里要安装的是在 Windows 系统中 Lua 的运行环境。最常用的为 SciTE

  • SciTE 是一款 Lua 脚本测试编辑器,提供 Lua 的编辑运行环境。其官方下载地址。

  • SciTE 提供了两种运行方式:命令行窗口运行方式与 Lua 脚本的编辑运行环境。

  • 除了 SciTE,还有像 LuaDist、LuaRocks 等。

1.4.1 LuaForWindows的安装

  1. 双击下载好的 exe ,进行安装,接受许可证
    在这里插入图片描述
  2. 选择安装路径
    在这里插入图片描述
  3. 默认勾选即可,也可根据需要选择
    在这里插入图片描述
  4. 根据需要设置,默认即可
    在这里插入图片描述
  5. 根据需要勾选是否创建桌面图标,是否编辑背景为黑色
    在这里插入图片描述
  6. 点击安装,等待安装即可
    在这里插入图片描述
  7. 为了保持桌面整洁,可以放到开始屏幕中
    • SciTE 提供了两种运行方式:命令行窗口运行方式与 Lua 脚本的编辑运行环境。
      在这里插入图片描述
  8. 测试
    在这里插入图片描述

1.4.2 SciTE修改字体大小

  • 第一种方法:Ctrl+鼠标滑轮调节梯子大小
  • 第二种方法:修改全局配置文件字体大小设置
    在这里插入图片描述
    在这里插入图片描述

1.4.3 SciTE中文乱码

  • 作者这里倒是没有遇到,记录一下,以防以后遇到
  • 修改全局配置文件code.page内容
    在这里插入图片描述
    在这里插入图片描述

1.4.4 SciTE快捷键

快捷键说明
Ctrl+D复制光标所在行到下一行
Ctrl + L剪切一行或多行
Ctrl+T和上一行换位置
Ctrl+V粘贴
Ctrl+Q行注释快捷键
  • 清除控制台:选中删除即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/403353.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

aws ecs 使用copilot快速创建ecs集群环境并部署服务

参考资料 https://github.com/aws/copilot-cli https://aws.github.io/copilot-cli/ https://github.com/aws-samples/amazon-ecs-cli-sample-app https://ecsworkshop.com/microservices/frontend/#deploy-frontend-0 ecs的服务部署从头开始需要进行以下操作 创建vpc等网…

JS中的事件、DOM操作

一、事件1.1 事件介绍事件: 就是发生在浏览器(页面)上一件事,键盘事件,鼠标事件,表单事件,加载事件等等1.2 事件绑定方式事件要想发生,就得将事件和标签先绑定一个完整的事件有三部分事件源(标签)什么事(事件)响应(动作效果)事件绑定,其实就是事件和标签绑定方式1: 事件源,事件…

IBM Semeru Windows 下的安装 JDK 17

要搞清楚下载那个版本,请参考文章:来聊聊 OpenJDK 和 JVM 虚拟机下载地址semeru 有认证版和非认证版,主要是因为和 OpenJ9 的关系和操作系统的关系而使用不同的许可证罢了,本质代码是一样的。在 Windows 下没有认证版,…

[计算机组成原理(唐朔飞 第2版)]第三章 系统总线(学习复习笔记)

3.1 总线的基本概念 计算机系统的五大部件之间的互连方式有两种 各部件之间使用单独的连线,称为分散连接将各部件连到一组公共信息传输线上,称为总线连接 总线是连接多个部件的信息传输线,是各部件共享的传输介质。 当多个部件与总线相连时&…

【java基础】LinkedList源码解析

文章目录基本介绍构造器基础方法linkFirstlinkLastlinkBeforeunlinkFirstunlinkLastunlinknodeindexOf方法分析总结基本介绍 在java中,LinkedList就是使用双向链表存储元素,既然是链表,那么也就知道了该数据结构擅长添加和删除。对于需要频繁…

线程等待/休眠/状态及 Runnable 和 Callable 的简单使用及原理

关于线程和进程的基本概念☛操作系统中线程和进程的概念理解 这篇文章已经有了很详细的解释, 接下来主要来讲讲线程等待与线程休眠 / 线程的几种状态 / Runnable 和 Callable 与 Thread 的概念和区别及 Executor 框架是什么样的. 关于线程1 线程等待与线程休眠2 线程一共有哪些…

[洛谷-P3698][CQOI2017]小Q的棋盘

一、问题 题目描述 小 Q 正在设计一种棋类游戏。 在小 Q 设计的游戏中,棋子可以放在棋盘上的格点中。某些格点之间有连线,棋子只能在有连线的格点之间移动。整个棋盘上共有 VVV 个格点,编号为 0,1,2,⋯,V−10,1,2,\cdots, V- 10,1,2,⋯,V−…

【C++知识点】C++11 常用新特性总结

✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📚专栏地址:C/C知识点 📣专栏定位:整理一下 C 相关的知识点,供大家学习参考~ ❤️如果有收获的话,欢迎点赞👍…

EasyRcovery16免费的电脑照片数据恢复软件

电脑作为一种重要的数据储存设备,其中保存着大量的文档,邮件,视频,音频和照片。那么,如果电脑照片被删除了怎么办?今天小编给大家介绍,误删除的照片从哪里可以找回来,误删除的照片如…

win10打印机拒绝访问解决方法

一直以来,在安装使用共享打印机打印一些文件的时候,会遇到错误提示:“无法访问.你可能没有权限使用网络资源。请与这台服务器的管理员联系”的问题,那为什么共享打印机拒绝访问呢?别着急,下面为大家带来相关的解决方法…

mysql时区问题

设置mysql容器时间与服务器时间一致 问题背景: 今天测试发现一个问题,时间不一致,当工单入库时,其创建时间和更新时间应该是一样的,即使不一样最多只会错几秒的时间;实际上两个时间相差的大概8小时&#…

青少年学AI,Amazon DeepRacer有何魔力?

导读:北京名校中学生可以根据兴趣开发AI模型甚至发表论文,偏远地区的校长还在犹豫“人工智能教育,中考会考吗?高考会加分吗?”教育鸿沟由来已久,绝非仅靠某些企业或教育机构可以扭转,但我们至少…

maven仓库的配置

下载 官网下载:https://maven.apache.org/download.cgi 2. 配置maven环境 右键电脑 ->属性 -> 高级系统设置 -> 环境变量 -> 系统变量-新建 变量名:MAVEN_HOME 变量值为maven的文件安装地址 编辑Path系统变量 新建:%MAVE…

132.《render-props, Hoc,自定义hooks 详解》

文章目录render-props 模式props 方式children 方式(推荐)Hoc(高阶组件)使用步骤示例props 丢失解决方案自定义 hook1.只执行一次2.防抖hook高阶组件与自定义hook有什么区别相同点不同点React 中代码逻辑复用有三种方式,render-props, Hoc&am…

Altium Designer(AD)软件使用记录05-PCB叠层设计

目录Altium Designer(AD)软件使用记录05-PCB叠层设计一、正片层和负片层的介绍1、正片层(Signal)2、负片层(Plane)3、内电层的分割实现二、正片层和负片层的内缩设计1、负片设置内缩20H原则2、正片铺铜设置内缩1、设置规则2、重新铺铜三、AD的层叠设计四、叠层设计需要注意的问…

计算机组成原理_总线标准

计算机组成原理总目录总线标准 总线标准是系统与各模块、模块与模块之间的一个互连的标准,就像我们用汉语来相互交流一样。 1. 系统总线 ISA总线的扩展插槽,其颜色一般为黑色,比PCI接口插槽要长些,位于主板的最下端。 可插接显卡&…

Java中的深克隆与浅克隆

浅克隆: 实现Cloneable接口即可实现,浅克隆只对象内部的基础数据类型(包括包装类)被克隆,引用数据类型(负责对象)会被使用引用的方式传递。 简单来说,就是浅克隆属性如果是复杂对象…

java多线程(二五)ReentrantReadWriteLock读写锁详解(1)

一、读写锁简介 现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁。在没有写操作的时候,多个线程同时读一个资源没有任何问题,所以应该允许多个线程同时读取共享资源;但是如果一个线程想去…

有关3dmax对齐技巧的那些事

建模操作中,对齐是非常常用的一个功能,用好这个对齐功能能够事半功倍,好处我不说了,下面我们这篇博文就来说说3dmax对齐技巧的相关的内容。 文章目录一、点对齐1、样条线中的点对齐2、多边形中的点对齐二、线对齐三、面对齐四、物…

DJI ROS dji_sdk 源码分析|整体框架

DJI ROS dji_sdk 源码分析|整体框架launch文件CMakeLists.txtcpp文件main.cppOSDK 是一个用于开发无人机应用程序的开发工具包,基于OSDK 开发的应用程序能够运行在机载计算机上(如Manifold 2),开发者通过调用OSDK 中指定的接口能够…