条件执行与循环控制:Shell脚本编程的核心技巧
1. 包识别脚本
在处理软件包时,我们常常需要识别不同类型的包及其相关信息。例如,对于Debian的 .deb 包和Red Hat的 .rpm 包,它们有各自的命名规范。下面是一个用于识别这些包的脚本:
#!/bin/bash
for pkg in pkgs/*
do
pkgname=`basename $pkg`
echo $pkgname
if [[ $pkgname =~ (.+)_(.*)_(.*)\.(deb) ]]; then
echo “Package ${BASH_REMATCH[1]} Version ${BASH_REMATCH[2]} is a”
echo “ Debian package for the ${BASH_REMATCH[3]} architecture.”
echo
elif [[ $pkgname =~ (.+)-(.+)\.(.*)\.rpm ]]; then
echo “Package ${BASH_REMATCH[1]} Version ${BASH_REMATCH[2]} is an”
echo “ RPM for the ${BASH_REMATCH[3]} architecture.”
echo
else
echo “File \”$pkgname\” does not appear to match the”
echo “standard .deb or .rpm naming conven
超级会员免费看
订阅专栏 解锁全文
1872

被折叠的 条评论
为什么被折叠?



