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

简介: 今天学到了一招,那就是使用脚本制作一款网页版相册浏览器。先上图吧。必备基础操作系统: 以linux为内核的操作系统都行编程语言:Shell(bash)脚本,相关基础知识即可下载工具:wget图片处理工具: ImageMagicK,解压缩工具 : rar ,bzip都行额外技能:一些基本的Linux操作命令,如此即可。

今天学到了一招,那就是使用脚本制作一款网页版相册浏览器。先上图吧。

网页版相册浏览器示例

必备基础

  • 操作系统: 以linux为内核的操作系统都行

  • 编程语言:Shell(bash)脚本,相关基础知识即可

  • 下载工具:wget

  • 图片处理工具: ImageMagicK,

  • 解压缩工具 : rar ,bzip都行

  • 额外技能:一些基本的Linux操作命令,如此即可。

软件安装

这里说的软件安装主要是指解压缩工具和图片下载工具的使用。因为我的linux是在虚拟机里,而且没有安装文件共享增强(如果安装了增强的话,就不必安装解压缩工具了)

  • ImageMagicK下载:
# 不同的linux发行版包管理软件可能不一样,请按照自己的情况使用
sudo apt-get install ImageMagicK
  • rar安装:
sudo apt-get install rar

rar 解压缩工具不是必须的,因为我本机的windows没有安装zip文件解压工具,所以需要使用.rar解压工具。

工具的使用

  • wget 的使用,我在这里使用wget只是为了下载演示用的图片。其他的高级的使用请参照http://blog.csdn.net/marksinoberg/article/details/51790203

  • rar的使用:
    这里我一开始也是遇到了一些问题,那就是路径的问题。下面谈谈解压缩的具体使用。

    • 解压:rar x target.rar即可,x参数就代表了解压。

    • 压缩:rar a result.rar,这里需要注意的是需要进入到待压缩的文件夹,这样才能把该文件夹内所有的文件add 到result.rar文件中。

    • 其他的使用方法,我们可以使用man 命令详细的研究,这里有这些基础就足够了。

  • 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脚本啊。 :-)

目录
相关文章
|
25天前
|
弹性计算 Shell Perl
ecs服务器shell常用脚本练习(二)
【4月更文挑战第1天】shell代码训练(二)
106 1
|
27天前
|
Java Shell
SpringBoot启动脚本Shell
SpringBoot启动脚本Shell
17 0
|
5天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
31 3
|
2天前
|
监控 Shell 应用服务中间件
第十二章 Shell脚本编写及常见面试题(二)
第十二章 Shell脚本编写及常见面试题(二)
|
2天前
|
监控 关系型数据库 Shell
第十二章 Shell脚本编写及常见面试题(一)
第十二章 Shell脚本编写及常见面试题(一)
|
2天前
|
监控 Shell
生产环境Shell脚本Ping监控主机是否存活(多种方法)
生产环境Shell脚本Ping监控主机是否存活(多种方法)
|
2天前
|
运维 Shell
Shell脚本判断IP是否合法性(多种方法)
Shell脚本判断IP是否合法性(多种方法)
|
8天前
|
运维 监控 Shell
利用Shell脚本编写局域网监控软件:实时监测主机连接情况
本文介绍了如何使用Shell脚本创建一个局域网监控工具,以实时检查主机连接状态。脚本包括扫描IP地址范围检测主机可达性及使用`netstat`监控ESTABLISHED连接。此外,还展示了如何每60秒将连接数数据自动提交到指定网站API,以便实时跟踪网络活动。这个自动化监控系统有助于提升网络安全性和故障排查效率。
32 0
|
9天前
|
Shell
Shell脚本之流程控制语句
Shell脚本之流程控制语句
|
10天前
|
JSON 运维 监控
训练shell常用脚本练习(三)
【4月更文挑战第14天】shell代码训练(三)
32 1