bash - Bash 一种记录不可变变量的方法
问题描述
我想要实现的是,当我发布一个软件时,它有他的软件版本,(1.0、1.1 等)我可以在 bash 中创建一个一旦用户下载我的程序就无法编辑的变量吗?
我有类似的东西:
declare -r version=11
如果最终用户以 sudo/root 身份打开 vim,他可以轻松编辑此值,bash 可以提供一些解决此问题的方法吗?
谢谢。
解决方案
在编程语言的上下文中,术语“不可变”意味着在第一次赋值后不能修改变量。这通常是一个常数。
您正在寻找的是一种使整个程序不可变的方法。这可以在文件系统中完成。
sudo chattr +i your-script
现在脚本是不可变的,不能直接更改vi
。但是用户可以删除不可变标志以编辑文件。
推荐阅读
- python - 如何删除 Tkinter 菜单小部件(Python 3)中烦人的默认边框?
- swift - Swift Set Fix Alignment 在任何 iphone 尺寸上
- c# - 来自 c# 的 AutoCAD 运行命令
- npm - npm-live-server https 命令行配置?
- sql-server - 无效的参考格式:在 MAC 上运行 Docker 以在容器中包含 SQL Server 2019
- c++ - 涵盖 boost::trim 并接受 std::vector 的函数
- javascript - 如果我可以只用 nodejs 本身做所有事情,我为什么要使用 Express?
- azure - 向 Azure Synapse Analytics Workspace 添加新用户时需要哪些权限?
- python - 有没有办法通过按下按钮来使用 tkinter 创建标签
- javascript - 如何在 100% 堆积条形图中按值对颜色段进行排序,而不是按 Highcharts 或 ChartJs 中所有堆积条形图的值排序