← 返回全部文章

命令行里,几个值得固定下来的习惯

把路径引用、输出位置和失败条件约定清楚,很多小脚本就会容易维护得多。

先看路径,再动文件

在终端里连续切换几个目录之后,很容易记错当前所在的位置。涉及文件修改时,先确认工作目录,再确认目标路径。脚本也应当明确它相对于哪个目录工作,而不是依靠某次打开终端时碰巧处在正确位置。

路径变量尽量加双引号,让包含空格的名字仍作为一个参数传递。这是一种很小的约定,却能减少许多与内容无关的失败。

notes_dir="./reading notes"
mkdir -p "$notes_dir"
printf '%s\n' "$notes_dir"

给输出一个固定的家

临时输出散落在桌面、下载目录和几个终端窗口里,过几天就很难重新组合。为一次任务建一个目录,把输入、结果和说明放在一起,会比给每个文件起一个很长的名字更直观。

输出文件的名称说明用途即可。时间、工具版本和执行条件可以放到说明里,不必都挤进文件名。可重复执行的脚本还需要明确:再次运行时,是追加、覆盖,还是发现已有结果就停止。

把重要的失败条件写出来

有些失败可以重试,有些失败意味着后面的步骤已经失去前提。比如配置校验没有通过时,就应当停止加载;下载内容不完整时,也不应该把文件当作成功结果继续处理。

不必为了显得严格而堆很多开关。先把真正重要的前提写成清楚的检查,并给出能帮助定位问题的错误说明,通常更容易读懂和维护。

让下一次执行不依赖记忆

脚本旁边留一份短说明:它接收什么,修改什么,输出在哪里,以及怎样确认成功。示例使用可以公开的路径和占位值,认证信息从适当的位置读取。

当一个脚本需要别人记住好几条口头提醒才能运行时,可以先把这些提醒变成检查。脚本不必很长,但它应该诚实地说明自己的前提。

静花手记 · 工具与方法查看文章归档 →
找到下一篇想读的笔记
↑ ↓ 选择 · Enter 打开文章、花园与小工具。