有人可以在makefile中解释以下代码的含义吗?
@mv $$@~ $$@
经过一番搜索,我认为这意味着shell命令:
mv $@~ $@
但是什么是$@~
?
答案 0 :(得分:1)
这看起来像 bash脚本而不是makefile。
$@
表示序列化为文本列表的所有当前命令行参数(当前脚本)。
~
在文件名的开始处,它将被展开并通常引用您的$HOME
。 Tilde Expansion Reference
~
位于文件名的 end ,它只是一个普通字符。 约定意味着它是备份文件 Reference
因此mv $@~ $~
命令
如果您有此目录:
/foo.txt~
/bar.txt~
/baz.txt~
然后运行命令:
./yourscript.sh foo.txt baz.txt
目录内容将更改为:
/foo.txt
/bar.txt~
/baz.txt