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切换到终端,但我不知道别名的东西是否也有别名.如果我在那里做同样的事情怎么办?)
一种常用的技术,用反斜杠为命令添加前缀,即\
确保避免任何别名并从系统默认路径运行它:
例:
$> 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
.