Shell 命令行,生成当前文件夹目录索引 index.html 文件

Shell 命令行,生成当前文件夹目录索引 index.html 文件

做了一些原型图放在 git 上面,在服务器配置好自动拉取 git 中的文件,并配置一个 httpServer 服务跑起来,我想就可以在浏览器中直接访问这些生成好的原型 html 文件了。

但实际情况下,为了安全考虑,服务器关闭了目录索引,也就是说,如果目录中不存在 index.html 文件的话,就会出现 403 错误。

好吧,为了这点东西让打开服务器的目录索引很明显是不合适的。但总不至于我每次都得去写一个 index.html 文件吧,这些原型图的变化还是很频繁的。

所以,我想写一个脚本,来一劳永逸的解决问题。

代码如下:

files=$(ls)
main=index.html
cat /dev/null > $main
echo '<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><title>产品组各类原型图</title></head><body><h1>产品组各类原型图</h1><ul>' > $main
for i in $files; do
  if [ $i != 'index.html' ] && [ $i != 'getindex.sh' ] && [ $i != 'main.html' ]; then
    echo '<li><a href="'$i'">'$i'</a></li>' >> $main
  fi
done
echo '</ul></body></html>' >> $main
echo '首页文件生成完毕'

逻辑非常的简单:

  1. ls 获取当前文件夹下的所有文件
  2. 创建一个空的 index.html 文件,如果 index.html 文件存在,则将文件内容填充为空
  3. 写进去文件头部的固定的代码
  4. ls 来的文件名称进行循环,用判断去除不需要的文件名,其他的循环写入 index.html 文件
  5. 最后再写入固定的文件尾部内容
  6. 提示生成完毕

以上脚本均在 centos 和 MAC 下测试通过,在其他 linux 下可能会有稍许不同。 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏C/C++基础

g++入门教程

g++是GNU开发的C++编译器,是GCC(GNU Compiler Collection)GNU编译器套件的组成部分。另外,gcc是GNU的C编译器。

1.2K1
来自专栏丑胖侠

Zookeeper开源客户端Curator之Master/Leader选举

在实际生产中,特别是分布式系统中,我们经常遇到这样的场景:一个复杂的任务,近需要从分布式机器中选出一台机器来执行。诸如此类的问题,我们统称为“Master选举”...

39310
来自专栏后台全栈之路

基于汇编的 C/C++ 协程 - 实现

将 libco 和 libevent 两者的功能糅合起来,所以我把我的工程,命名为 libcoevent,意为 “基于 libevent 的同步协程服务器编程框...

5252
来自专栏北京马哥教育

ls 命令还能这么玩?看一下这 20 个实用范例

1984
来自专栏ml

web基础之Structs(一篇)

为什么有 struts 框架 Struct 的优点之处: 1.       struct的好处 2.       程序更加规范化 3.       程序的可...

3808
来自专栏Java帮帮-微信公众号-技术文章全总结

RabbitMQ详解解答【面试+工作】

如果安装rabbitMQ首先安装基于erlang语言支持的OTP软件,然后在下载rabbitMQ软件进行安装(安装过程都是下一步,在此不在说了)

3131
来自专栏技术之路

go微服务框架go-micro深度学习(二) 入门例子

    上一篇帖子简单介绍了go-micro的整体框架结构,这一篇主要写go-micro使用方式的例子,中间会穿插一些go-micro的源码,和调用流程图,帮大...

1.3K5
来自专栏安恒网络空间安全讲武堂

Python编写渗透工具学习笔记二 | 0x04编写程序分析流量检测ddos攻击

0x04编写程序分析流量 检测ddos攻击 1使用dpkt发现下载loic的行为 LOIC,即Low Orbit Ion Cannon低轨道离子炮,是用于压力测...

1.1K6
来自专栏北京马哥教育

案例+解读,来自有道大神的17个常用Linux命令深度解析

命令后带(Mac)标记的,表示该命令在Mac OSX下测试,其它的在Debian下测试。 1. grep命令 文本查找命令, 能够使用正则表达式的方式搜索文本...

3225
来自专栏塔奇克马敲代码

第 8 章 IO库

1975

扫码关注云+社区

领取腾讯云代金券