相关疑难解决方法(0)

为什么不建议在标准命令上使用别名?

例如,我在~/.bashrc文件(或等价物)中看到的一个常见别名是

alias rm='rm -i'
Run Code Online (Sandbox Code Playgroud)

但是,我看到人们建议不要这样做,因为

  1. 别名可能不存在于另一个系统上,并且由于您对 粗心大意rm,您无意中删除了一些重要的内容。[1]
  2. 通过使用此别名,您实际上可以训练自己在每个命令之后键入y或执行,这与整个目的背道而驰。yesrm

还有其他理由不建议这样做吗?可能有些程序只是简单地调用rm而不是\rm,并且对它进行别名可能会给他们带来问题?

rm仅将其用作示例,但我也看到过类似别名cp或被mv别名覆盖的其他命令。就个人而言,我正在慢慢训练自己使用这样的别名来代替rm -i

alias trash=`mv -v -t $HOME/.Trash`
Run Code Online (Sandbox Code Playgroud)

command-line shell alias

20
推荐指数
4
解决办法
5867
查看次数

制作一个不受“rm -rf”保护的目录

我只是在执行rm -rf B. 在我意识到我做了什么之前,一切都结束了。现在吸取了教训,我希望让我的一些文件夹白痴,以避免下次我做类似的事情并想自杀。

我能想到的一种方法是编写一个 bash 函数并将其别名为rm. 此函数将在每个子文件夹中查找隐藏文件,例如.dontdelete. 找到后,它会问我是否真的要继续。我不能使写保护,因为有一个进程不断写入此文件夹。有没有更好的方法来做到这一点?

permissions directory rm

9
推荐指数
2
解决办法
4164
查看次数

标签 统计

alias ×1

command-line ×1

directory ×1

permissions ×1

rm ×1

shell ×1