在 Paul Graham 的 Bel 规范(bel 参考)中,他以这种方式定义了 'mac' 宏:
(mac mac (n . rest)
`(set ,n (macro ,@rest)))
Run Code Online (Sandbox Code Playgroud)
这不是循环吗?如果您使用 'mac' 来定义 mac,解释器如何知道 mac 的值是什么?
我想从与当前目录不同的目录中移动文件。这是我想到的解决方案:
mv (cd ~/Downloads; ls -t | head -1 | xargs -I {} readlink -f {}) ./
可能有更好的方法,但一路上我发现我对子命令中目录更改的期望是错误的:运行 cd 会更改正在mv执行的目录。
那么,有没有办法只改变当前子命令的目录,而不影响top命令呢?