Linux

TL;DR

本文主要讨论了 bash 数组和利用 Shell Expansion 语法对数组进行操作,由于写了一个很蛋疼的 bash 工具故想把 bash 坑爹的数组语法吐槽一下。

bash 的语法确实反人类,如果有选择余地,尽量不要用 bash 实现超过10行的功能,即使用 Python 写一万个 subprocess 也好过和 bash 的奇妙语法斗智斗勇。

bash 数组基本语法

虽然 bash 没有真正的变量和引用,但是他真的有数组(也许很多人并不知道 bash 其实是有数组的?)

本质上 bash 中的变量都可以认为是字符串而不存在数值类型变量,数值计算实际上也是通过[……]

Read more

基于 OpenSSL 1.1.1 构建支持 TLS 1.3 的 Nginx 1.15 安装包

前言

UPDATE. 2018.08.31

TLS 的 RFC 已经正式更新,编号为 RFC 8446

注意:TLS 1.3 目前虽已定稿,但仍处于未被正式确立为 Internet standard 的草案标准阶段,其周边软件的支持可能发生快速的改变,本文所描述内容截止至2018年6月7日。

3月21日,TLS 1.3 草案正式定稿,最终版本为 draft28,详情见 Protocol Action: ‘The Transport Layer Security (TLS) Protocol Version 1.3’ to Proposed Standard (draft-ietf-[……]

Read more

TL; DR:对软链进行 sed 请使用 sed -i --follow-symlinks ,否则软链会变成常规文件。

本来我已经很久不拿这种非常零散的点水一篇文章了但是由于这个坑我觉得无比愚蠢我决定上来吐槽一下

你们 Debian 特色的 nginx 配置文件分为 sites-available 和 sites-enabled,某次我对着 sites-enabled 来了一次 sed -i 之后又愉快的改 sites-available 配置文件然而 reload 谜之不生效,然后就发现软链都变常规文件了。[……]

Read more

老鼠就不要对一只猫的仁慈抱有希望,尤其是那只猫曾经是老鼠 ——题记

写在前面

阅读本文可能需要关于 DNS 的基本知识,权威 DNS 和递归解析过程等参见先前的文章:浅谈 DNS 的解析

9月18日上午,各大社交网络开始盛传著名二次元同人画作社区 黄图网站 PIXIV 在大陆无法访问,各种说法甚嚣尘上,有说 P 站自主规制的,有说 P 站被墙的,也有认为是网络抽风的,实际上这个问题要判断到底是哪边的问题是比较简单的,所谓实践出真知,让我们来试着判断一下 P 站为什么会无法访问

关于 P 站情况的分析

首先来看看国内访问是什么情况:

[crayon-5ba631987c6c78495[……]

Read more

shell 脚本如何判断所在目录问题

这是某业务广泛的 QQ 群里的一次讨论,尘光大前辈问起都是怎么获取脚本所在绝对路径。

首先有同学表示可以使用 pwd配合 $0参数,但是很明显脚本执行的时候并不一定在当前 working dir,这就会带来一个明显的问题就是,如果执行的方式是 ./a.sh,那么获取到的$0和 pwd 的结果才是相同的,否则就是不同的:

当然,可以说判断执行的方式,根据判断$0是否是绝对路径等方法可以区分这个情况,但是首先这样就变[……]

Read more