使用通用Linux脚本简化Linux Shell脚本的开发 (91Yun Exclusive)
在编写Shell脚本时,因发行版不同,要获取系统名称、版本、虚拟化技术、安装软件包等成为了一件非常麻烦的事情。现在,有了通用Linux脚本,一切都变得简单了。
何为通用Linux脚本?
通用Linux脚本(Universal Linux Script,ULS,发音:”U-Less”)是我开发的一种Linux脚本,有如下的特点:
- 语言上:与Shell脚本语法完全相同
- 功能上:内置了常用的系统信息变量库和常用命令变量库,只需几个字母就能轻松存取
- 使用上:提供ULS一键安装脚本来安装Python写的ULS翻译程序,执行脚本只需一个命令
OK,我们来看两个例子:
第一,Deb系的OS从源安装软件要用 “apt-get -y install“,RH系的OS用”yum -y install“。在ULS中,全部以 pkg.install 代替。ULS脚本在执行时会自动替换为对应不同OS的命令。
第二,是否需要在脚本中判断VPS的虚拟化技术、获取CPU信息、发行版名称及版本?在ULS中,可以使用 dev.virt 、dev.cpu、sys.name、sys.version 代替。在脚本执行时,上述变量会自动被替换为带有两个双引号的字符串,比如:
echo dev.virt
在执行时会根据系统信息被替换为:
echo "kvm"
看过了两个实例,是不是对ULS增进了一些了解呢?下面开始正式的题目了:
安装与使用
ULS代码托管在Github,基于GPLv3开放源代码。地址是:
目前ULS已经配备了完整的文档,包括安装和使用。非常简单,易于操作,没有技术性障碍。
简易安装
简易安装真的很简易,只需要一行命令,推荐使用:
wget https://raw.githubusercontent.com/CYRO4S/Universal-Linux-Script/master/uls_install.sh && bash uls_install.sh
这个一键安装脚本将安装 wget、python3 和 virt-what,下载uls.py,并运行一遍系统信息获取,之后会将获取的系统信息存储在 device.json 中,以供执行ULS脚本时替换。
执行ULS脚本
很简单,使用:
uls [ULS脚本路径]
如果脚本是以 #!/usr/bin/uls 开头而且有可执行权限,直接使用:
./[ULS脚本名]
就可以了。
重新运行系统信息获取
若您的硬件、软件、网路进行过更改,建议您重新运行系统信息获取。使用
uls --getinfo
来重新获取。ULS也将同时更新 device.json 中的内容。
所有内置的变量和语句
参阅Wiki:
评论
二楼预留,将来会贴上自编ULS脚本。
都是大神,我等只能按照教程一行一行的复制命令。
這個牛.. 造福人群, 按 "贊" 一個 !
可以讓更多人較容易來自己編寫自動安裝腳本~~
不错~6666
林老板的UML + BBR + SSR 一键安装主脚本,可以简化为15行(去掉空行和注释只有13行):
为鼓励更新、方便内部测试,现给楼主增加“大佬”头衔。感谢分享!
* ULS的开发更新仅在这里(91yun论坛)。换句话说,叫独占内容。
* 除非有需要,ULS的开发信息和脚本发布仅在该帖内,我不会新建帖子。
* 较长文章在这里不是太好写(Markdown),可能会链接至我的博客。(大佬们手下留情,不要DDCC
* 这几天我只会对ULS解释器进行维护,脚本出炉得到清明假期后。