红联Linux门户
Linux帮助

Shell脚本生成网页版相册浏览器

发布时间:2017-05-04 23:02:13来源:blog.csdn.net/marksinoberg作者:纯臻
今天学到了一招,那就是使用脚本制作一款网页版相册浏览器。
 
必备基础
操作系统:以Linux为内核的操作系统都行
编程语言:Shell(bash)脚本,相关基础知识即可
下载工具:wget
图片处理工具:ImageMagicK,
解压缩工具:rar ,bzip都行
额外技能:一些基本的Linux操作命令,如此即可。
 
软件安装
这里说的软件安装主要是指解压缩工具和图片下载工具的使用。因为我的linux是在虚拟机里,而且没有安装文件共享增强(如果安装了增强的话,就不必安装解压缩工具了)
1.ImageMagicK下载:
# 不同的linux发行版包管理软件可能不一样,请按照自己的情况使用
sudo apt-get install ImageMagicK
2.rar安装:
sudo apt-get install rar
rar 解压缩工具不是必须的,因为我本机的windows没有安装zip文件解压工具,所以需要使用.rar解压工具。
 
工具的使用
1.wget 的使用,我在这里使用wget只是为了下载演示用的图片。其他的高级的使用请参照:
Shell脚本生成网页版相册浏览器
2.rar的使用:
这里我一开始也是遇到了一些问题,那就是路径的问题。下面谈谈解压缩的具体使用。
解压:rar x target.rar即可,x参数就代表了解压。
压缩:rar a result.rar,这里需要注意的是需要进入到待压缩的文件夹,这样才能把该文件夹内所有的文件add 到result.rar文件中。
其他的使用方法,我们可以使用man 命令详细的研究,这里有这些基础就足够了。
3.ImageMagicK的使用:
这里仍旧是只需要一点的功能,那就是将图片的尺寸缩小,仅此而已,其他的高级使用暂且还用不到。
convert -sample 25%x25% old.jpg new.jpg
 
Shell脚本
#!/bin/bash
#filename:generate_album.sh
#description: 把本地照片生成缩略图之后作为连接,生成网页版的相册浏览器
echo "Creating album..."
mkdir -p thumbs
cat <<EOF1 >index.html
<html>
<head>
<style>
body{
width:470px;
margin:auto;
border:1px dashed grey;
padding:10px;
}
img{
margin:5px;
border:1px solid black;
}
</style>
</head>
<body>
<center><h1>#Album title</h1></center>
<p>
EOF1
for img in *.jpg;
do
convert  -sample 25%x25%  "$img" "thumbs/$img"
echo "<a href=\"$img\"><img src=\"thumbs/$img\" title=\"$img\" /></a>" >>index.html
done;
cat <<EOF2 >> index.html
</p>
</body>
</html>
EOF2
echo "Album generated Success!"
 
代码释义
核心代码也就如下:
for img in *.jpg;
do
convert  -sample 25%x25%  "$img" "thumbs/$img"
echo "<a href=\"$img\"><img src=\"thumbs/$img\" title=\"$img\" /></a>" >>index.html
 
其原理:
遍历当前文件夹下的所有的.jpg文件,然后使用convert命令生成新的缩略图并放到thumbs文件夹下。然后将标签添加到index.html中。
 
运行方法
# 为文件添加可执行权限
chmod 755 generate_album.sh
# 在当前目录下执行
./generate_album.sh
 
结语
Shell脚本配合强大的linux命令,总是能产生让人意想不到的效果。想必,windows下的cmd命令就乏陈可谓了。不过最近貌似微软开源了.net core项目,能执行linux命令的预览版也已经发布了。希望能在不久的将来,在windows上也能愉快的写shell脚本啊。 
 
本文永久更新地址:http://www.linuxdiyf.com/linux/30515.html