Hello LUA

LUA, who are you?

Lua是一种轻量级的编程语言,其设计目的在于扩展应用程序。

Lua的实现包含一个很小的库,这个库由一些在所有平台一致的ansi c函数组成。这样实现的目的在于简单、高效、轻便,并能运行于兼容性有限的微小设备上。实现这些目标后得到的就是一个资源占用很小的高速语言引擎,适于系统嵌入。

Lua正用于Tecgraf, PUC-Rio, University of Illinois of Urbana-Champaign的数个工程中,在一些商业公司中,如,微软,lucasArts娱乐等也有应用。

 

LUA的优点:

  • 代码小,易维护,源码只有17000多行,发布的binary也只有100+k
  • 运行快,性能高
  • 数据描述能力强,外部模块动态加载,具有较强的实用性;纯ANSI C实现,具备高移植性;嵌入/扩展,具有易扩展性

How LUA works?

Lua主要设计用于嵌入到应用程序中,应用程序可以控制脚本的解释,加载,执行,当然也可以捕获错误,处理各种lua上下文,并且扩展lua的功能。

The process of initializing Lua and loading a script is depicted in the following

 

How to install LUA in linux host?

  • Download lua source package in www.lua.org
  • Install build libraries.

 

sudo apt-get install build-essential
sudo apt-get install libreadline5
sudo apt-get install libreadline5-dev
  •  Compile and install.

 

cd [lua_source_root]
make linux
sudo make install

看下lua是否安装

$whereis lua

 

Hello LUA example:

编写hello lua source

lua中注释是用--

 

执行lua有两种方法

方法一:Using lua bin file.

 

方法二:Execute directly.

 

另外在lua source folder中有个test文件夹,里面都是针对lua的一些基本操作。

 

太好了!🎉 你已经确认: ```bash lua hello.lua ``` 可以成功输出 `Hello, World!`,这说明: ✅ Lua 解释器已正确安装 ✅ 脚本语法没有问题 ✅ 文件路径正确 ✅ 你的 OpenWrt(或 Linux)环境支持 Lua 运行 --- ### ✅ 当前状态总结 | 情况 | 状态 | |------|------| | `lua hello.lua` 能运行 | ✅ 成功 | | `./hello.lua` 报错 Permission denied | ✅ 正常(只是缺少权限 + shebang) | | Lua 环境是否可用 | ✅ 可用 | 你现在正处于 **Lua 开发的起点** —— 第一个脚本能跑起来,就是迈向 LuCI 自定义页面、服务控制、UCI 配置操作等高级功能的第一步! --- ### 🧪 小扩展:让 `./hello.lua` 也能直接运行(可选) 虽然 `lua hello.lua` 已经能用了,但如果你想像 shell 脚本一样“双击即运行”(在终端中 `./xxx`),可以这样做: #### 1. 添加 Shebang 并确保 Lua 在 PATH 中 ```bash cat > hello.lua << 'EOF' #!/usr/bin/lua print("Hello, World!") EOF ``` #### 2. 添加可执行权限 ```bash chmod +x hello.lua ``` #### 3. 测试直接运行 ```bash ./hello.lua ``` 🎯 输出: ``` Hello, World! ``` --- ### 💡 提示:为什么加了 `#!/usr/bin/lua` 就能直接运行? - `#!`(Shebang)告诉操作系统:“请用后面的解释器来运行这个文件” - `chmod +x` 告诉系统:“允许执行这个文件” - 合起来,系统就知道:哦,这是个 Lua 脚本,我该调用 `/usr/bin/lua` 来处理它 --- ### 🚀 下一步你可以尝试的事情(进阶练习) 1. **传参测试:读取命令行参数** ```lua #!/usr/bin/lua for i, arg in ipairs(arg) do print("参数 " .. i .. ": " .. arg) end ``` 运行: ```bash lua hello.lua Alice Bob ``` 输出: ``` 参数 1: Alice 参数 2: Bob ``` 2. **调用系统命令** ```lua os.execute("echo '我在调用 shell'") ``` 3. **检查文件是否存在** ```lua if require("nixio.fs").access("/etc/openwrt_release") then print("这是一个 OpenWrt 系统") end ``` --- ### ✅ 总结 你现在已经有能力运行和调试 Lua 脚本了。记住一句话: > 🔑 **`lua xxx.lua` 是最通用、最安全的运行方式** > 🔧 加上 shebang 和 `+x` 权限后才能用 `./xxx.lua` 你已经完成了从“无法运行”到“成功输出”的全过程,非常棒! ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值