ubuntu 20.04 手工生成通配符ssl证书

其实很简单,但因为网上有流传很广的教程并不适用于最新的 ubuntu 20.04,造成我也走了一点弯路。 certbot-auto 官方已停止维护,但网上广为流传的教程仍然推荐使用 certbot-auto 来生成证书。这是问题的根源。正确的姿势是这样的

sudo apt install certbot
sudo certbot certonly --manual -d *.yourdomain.com -d youdomain.com --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory

照提示一步一步来就好了。是不是超级简单?

A guide for git status change

状态标识

标志 含义
nul 文件已提交到版本库未做修改
?? untracked 新文件尚未 git add
A staged 已经 git add 但尚未提交
AM staged 未提交又做限新的修改,新修改尚未staged
MM 一些修改staged之后又做了新的修改,新修改尚未staged

状态转换指南

状态A -> 状态B 需要的操作
nul -> M 修改文件
MM -> nul git checkout HEAD file(s) OR git checkout -- file(s)
A -> ?? git rm --cached file(s)
M -> M git add file(s)
A -> AM git reset file(s)
A -> nul git reset file(s)
?? -> A git add file(s)
A -> ?? git rm --cached file(s)
A -> AM git add 之后再修改文件
AM -> A git checkout -- file(s)

switch case in bash script

, change the first letter of the value of the variable to lowercase, ,, change the value of the whole variable to lower case.

$ test='HELLO'
$ echo $test
HELLO
$ echo ${test,}
hELLO
$ echo ${test,,}
hello
$ test=${test,,}
$ echo ${test^}
Hello
$ echo ${test^^}
HELLO

观影 灰猎犬号 "GREY HOUND"

本周二?晚间和 Eric 在看tv上慕名看了电影 GREY HOUND。有中文字幕,顺便练练英语听力。怎么说呢,可能是期望值太高的原因,并未感觉到这个片子有特别出彩的地方。想吐槽的地方倒有几个。

  1. 整个片子舰长的戏份多得惊人了。简直是中国版劳模一个。给他做饭也不吃。动不动你们退下我来指挥。
  2. 短时间整三次德军潜艇使用船队通讯通道恐吓船队的桥段。
  3. 潜艇几次近距离浮上来当靶子。

Eric 倒觉得这个片子蛮不错的,他觉得很真实。那我也说说它好的地方吧

  1. 蛮惊险的,几次靠舰艇快速转向成功躲开鱼雷攻击。
  2. 舰长心理活动刻划比较真实,要救人,又要护船队。
  3. 敌狼头潜艇确实很聪明,有勇有谋。

A bash script to keep two git branch identical.

#!/bin/bash

git push
currentbranch=`git branch --show-current`
if [ "${currentbranch}" == "local" ]; then
   git checkout develop
   git merge local
   git push
elif [ "${currentbranch}" == "develop" ]; then
   git checkout local
   git merge develop
   git push
fi
git checkout $currentbranch

Don't ask why I wrote this foolish script. I have to do it 😀