在bash中,用最DRY的方式用符号链接替换文件是什么?

4

我有一个已经存在的文件,现在我要用一个符号链接来替换它。所以我需要做以下操作:

rm orig
ln -s /var/better orig

我将上述内容DRY化为以下内容:

{rm,ln\ -s\ /var/better}\ orig\;

但它现在不起作用了。 Shell 现在会抱怨:

-bash: rm orig;: command not found

有没有办法使DRY表单工作?

为什么不将 orig 放入一个像 $ORIG 这样的 shell 变量中呢? - Kevin
2个回答

8
你只需要使用“-f”即可。
ln -sf /var/better orig

来自 man ln

-f, --force 删除已存在的目标文件


我没有意识到“-f”也可以删除普通文件!谢谢。 - Magnus

1
你所需要的就是cp:
cp -sf /var/better orig

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接