为了缩短编译时间,Arch wiki指出,
拥有多核/多处理器系统的用户可以指定同时运行的作业数量。这可以通过使用
nproc
来确定可用处理器的数量,例如MAKEFLAGS="-j$(nproc)"
。
如果我通过 在 Fish shell 中设置它set -Ux MAKEFLAGS "-J$(nproc)"
,那么我会收到错误消息:
fish: $(...) is not supported. In fish, please use '(nproc)'.
set -Ux MAKEFLAGS "-J$(nproc)"
^
我可以通过两种方式设置此变量而不会收到错误:
set -Ux MAKEFLAGS "-J(nproc)"
set -Ux MAKEFLAGS '-J$(nproc)'
以下哪一个是正确的方法?或者他们俩都好吗?
谢谢
两者都不。在fish中,不能引用命令替换。
利用
从 fish 3.4.0 开始,可以使用
"$()"
语法引用命令替换,因此原始命令现在可以使用。