Bash - 别名unalias

ble*_*ius 2 linux bash shell alias

我知道在bash 中使用alias命令可以在bash中定义自定义函数,甚至可以覆盖内置函数(例如别名sudo ="help"工作).Unalias -a可以整理用alias命令制作的混乱,但unalias也可以别名(我已成功运行别名unalias ="unalias"命令,所以我猜它也适用于其他命令 - 我不想搞砸了因为它是一台公共计算机).
我的问题是,如果我将unalias别名为别名,然后是别名,如果它们本身不可用,我可以重置命令吗?如果我也混淆了sudo会怎么样?
例如,如果我想成为一个巨魔并在我的朋友的机器上运行此命令

    alias sudo="clear" && alias unalias="clear" && alias alias="clear"
Run Code Online (Sandbox Code Playgroud)

所有这些命令都将无法使用,因此我确信恢复sudo的功能将很难.是否可以不重新安装操作系统?
(我可以考虑使用ctrl + alt + f1切换到终端,但我不知道别名的东西是否也有别名.如果我在那里做同样的事情怎么办?)

anu*_*ava 8

一种常用的技术,用反斜杠为命令添加前缀,即\确保避免任何别名并从系统默认路径运行它:

例:

$> alias ps=date
$> ps
Wed Feb 18 12:33:17 EST 2015
$> \ps
 PID TTY           TIME CMD
 615 ttys000    0:00.66 -bash
 621 ttys001    0:07.36 -bash
 913 ttys002    0:01.19 -bash
Run Code Online (Sandbox Code Playgroud)

正如您可以在\ps运行时使用运行运行系统默认/bin/ps运行ps别名命令date.