昊梵体育网

群友的原问题是:“如果我要交换 ~/.claude/settings.json{

群友的原问题是:“如果我要交换 ~/.claude/settings.json{,.bak} 这两个文件,在 bash 里有没有什么骚操作?”

最容易想到的 mv settings.json settings.json.tmp && mv settings.json.bak settings.json && mv settings.json.tmp settings.json.bak 肯定算不上什么骚操作,而且这还不是原子操作。

前段时间我也有过这样的需求,我想着应该有什么命令可以优雅实现我的需求。后来就找到了在 util-linux package 下的 exch 命令。( 见 h__ps://man7.org/linux/man-pages/man1/exch.1.html )

我看到就下意识在群里回了个 exch,然后想着去ARM板上演示一下,但ssh上去后发现 util-linux 卡在了一个比较尴尬的旧版本,而 exch 是在 util-linux 2.40 新引入的。

❯ lsblk --versionlsblk from util-linux 2.39.3

为了演示只好拉 util-linux 的源码下来,只编译 exch./autogen.sh./configure --disable-all-programs --enable-exchmake exch

编之后拷贝到 /usr/local/bin/ 下就能用。现在管理Agent的配置或者.env之类的可能经常用到,有需要的朋友也可以编译一下 exch 出来用。以后想交换settings.json和settings.json.bak就只需要:exch settings.json{,.bak} 就完事了(如图2)。