在编写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开放源代码。地址是:
https://github.com/CYRO4S/Universal-Linux-Script
目前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脚本路径]
就可以了。若ULS脚本以“#!/usr/bin/uls”开头,且有可执行权限,使用:
./[ULS脚本名]
就可以了。
重新运行系统信息获取
若您的硬件、软件、网路进行过更改,建议您重新运行系统信息获取。使用
uls --getinfo
来重新获取。ULS也将同时更新 device.json 中的内容。
升级ULS
新版的ULS会支持更多的功能。使用:
uls --update
来升级ULS到最新版本。
所有内置的变量和语句
参阅Wiki:
https://github.com/CYRO4S/Universal-Linux-Script/wiki/All-built-in-variables