下载 shell 脚本函数并将其用于自己的应用程序
我们对函数的应用绝不仅限于创建自己的函数自娱自乐。在开源世界中,共享代码是必不可
少的,这同样适用于 shell 脚本函数。你可以下载各种 shell 脚本函数并将其用于自己的应用程序中。
本节介绍了如何下载、安装以及使用 GNU shtool shell 脚本函数库。shtool 库提供了一些简单
的 shell 脚本函数,可用于实现日常的 shell 功能,比如处理临时文件和目录、格式化输出显示等。
下载及安装
首先是将 GNU shtool 库下载并安装到你的系统中,这样你才能在自己的 shell 脚本中使用这
些库函数。为此,要用到 FTP 客户端或者是浏览器。shtool 软件包的下载地址如下:
ftp://ftp.gnu.org/gnu/shtool/shtool-2.0.8.tar.gz
下载文件 shtool-2.0.8.tar.gz,然后使用 cp 命令或是 Linux 发行版中的图形化文件管理器(比
如 Ubuntu 中的 Files)将文件复制到主目录中。
完成复制操作后,使用 tar 命令提取文件:
tar -zxvf shtool-2.0.8.tar.gz
该命令会将压缩文件中的内容提取至 shtool-2.0.8 目录。然后使用 cd 命令将之切换到新创建
的目录:cd shtool-2.0.8。
接下来就可以构建 shell 脚本库文件了。
构建库
shtool 文件必须针对特定的 Linux 环境进行配置。配置过程必须使用标准的 configure 命
令和 make 命令,这两个命令常用于 C 编程环境。要构建库文件,只需输入如下内容即可:
$ ./configure
$ make
configure 命令会检查构建 shtool 库文件所必需的软件。一旦发现了所需要的工具,就会
使用工具路径修改配置文件。
make 命令负责构建 shtool 库文件。最终的结果文件(shtool)是一个完整的库软件包文件。
你也可以使用 make 命令测试这个库文件:
$ make test
Running test suite:
echo...........ok
mdate..........ok
table..........ok
prop...........ok
move...........ok
install........ok
mkdir..........ok
mkln...........ok
mkshadow.......ok
fixperm........ok
rotate.........ok
tarball........ok
subst..........ok
platform.......ok
arx............ok
slo............ok
scpp...........ok
version........ok
path...........ok
OK: passed: 19/19
$
测试模式会测试 shtool 库中所有的函数。如果全部通过了测试,就可以将库安装到 Linux 系
统中的公用位置,这样你的所有脚本就都能使用这个库了。要完成安装,可以使用 make 命令的
install 选项。不过需要以 root 用户的身份运行该命令:
# make install
Password:
./shtool mkdir -f -p -m 755 /usr/local
./shtool mkdir -f -p -m 755 /usr/local/bin
./shtool mkdir -f -p -m 755 /usr/local/share/man/man1
./shtool mkdir -f -p -m 755 /usr/local/share/aclocal
./shtool mkdir -f -p -m 755 /usr/local/share/shtool
...
./shtool install -c -m 644 sh.version /usr/local/share/shtool/
sh.version
./shtool install -c -m 644 sh.path /usr/local/share/shtool/sh.path
#
现在,你可以在自己的 shell 脚本中使用这些函数了。
shtool 库函数
使用库
platform函数
可以在命令行或 shell 脚本中直接使用 shtool 函数。下面是一个在 shell 脚本中使用 platform
函数的例子:
$ cat test16
#!/bin/bash
shtool platform
$ ./test16
Ubuntu 20.04 (AMD64)
$
platform 函数会返回 Linux 发行版以及系统所使用 CPU 硬件的相关信息。
prop函数
它使用\、|、/和-字符创建了一个旋转的进度条,可以告诉 shell 脚本用户目前正在进行
一些后台处理工作。
要使用 prop 函数,只需将希望监看的输出管接到 shtool 脚本即可:
$ ls –al /usr/bin | shtool prop –p "waiting..."
waiting...
prop 函数会在处理过程中不停地变换进度条字符。在本例中,输出信息来自 ls 命令。你
能看到多少进度条取决于 CPU 能以多快的速度列出/usr/bin 目录中的文件。-p 选项可以设置出现
在进度条之前的文本。!