Linux中國
命令行樂趣:嘲諷輸錯 Bash 命令的用戶
你可以通過配置 sudo
命令去嘲諷輸入錯誤密碼的用戶。但是現在,當用戶在 shell 輸錯命令時,就能嘲諷他了(濫用?)。
你好 bash-insulter
來自 Github 頁面:
當用戶鍵入錯誤命令,隨機嘲諷。它使用了一個 bash4.x. 版本的全新內置錯誤處理函數,叫
command_not_found_handle
。
安裝
鍵入下列 git 命令克隆一個倉庫:
git clone https://github.com/hkbakke/bash-insulter.git bash-insulter
示例輸出:
Cloning into 'bash-insulter'...
remote: Counting objects: 52, done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 52 (delta 12), reused 12 (delta 2), pack-reused 0
Unpacking objects: 100% (52/52), done.
用文本編輯器,比如說使用 vi
,編輯你的 ~/.bashrc
或者 /etc/bash.bashrc
文件:
$ vi ~/.bashrc
在其後追加這一行(具體了解請查看 if..else..fi 聲明 和 source 命令):
if [ -f $HOME/bash-insulter/src/bash.command-not-found ]; then
source $HOME/bash-insulter/src/bash.command-not-found
fi
保存並關閉文件。重新登錄,如果不想退出賬號也可以手動運行它:
$ . $HOME/bash-insulter/src/bash.command-not-found
如何使用它?
嘗試鍵入一些無效命令:
$ ifconfigs
$ dates
示例輸出:
自定義
你需要編輯 $HOME/bash-insulter/src/bash.command-not-found
:
$ vi $HOME/bash-insulter/src/bash.command-not-found
示例代碼:
command_not_found_handle () {
local INSULTS=(
"Boooo!"
"Don't you know anything?"
"RTFM!"
"Hahaha, n00b!"
"Wow! That was impressively wrong!"
"What are you doing??"
"Pathetic"
"...and this is the best you can do??"
"The worst one today!"
"n00b alert!"
"Your application for reduced salary has been sent!"
"lol"
"u suk"
"lol... plz"
"plz uninstall"
"And the Darwin Award goes to.... ${USER}!"
"ERROR_INCOMPETENT_USER"
"Incompetence is also competence"
"Bad."
"Fake it till you make it!"
"What is this...? Amateur hour!?"
"Come on! You can do it!"
"Nice try."
"What if... you type an actual command the next time!"
"What if I told you... it is possible to type valid commands."
"Y u no speak computer???"
"This is not Windows"
"Perhaps you should leave the command line alone..."
"Please step away from the keyboard!"
"error code: 1D10T"
"ACHTUNG! ALLES TURISTEN UND NONTEKNISCHEN LOOKENPEEPERS! DAS KOMPUTERMASCHINE IST NICHT FÜR DER GEFINGERPOKEN UND MITTENGRABEN! ODERWISE IST EASY TO SCHNAPPEN DER SPRINGENWERK, BLOWENFUSEN UND POPPENCORKEN MIT SPITZENSPARKEN. IST NICHT FÜR GEWERKEN BEI DUMMKOPFEN. DER RUBBERNECKEN SIGHTSEEREN KEEPEN DAS COTTONPICKEN HÄNDER IN DAS POCKETS MUSS. ZO RELAXEN UND WATSCHEN DER BLINKENLICHTEN."
"Pro tip: type a valid command!"
)
# 設置「隨機」種子發生器
RANDOM=$(date +%s%N)
VALUE=$((${RANDOM}%2))
if [[ ${VALUE} -lt 1 ]]; then
printf "n $(tput bold)$(tput setaf 1)$(shuf -n 1 -e "${INSULTS[@]}")$(tput sgr0)nn"
fi
echo "-bash: $1: command not found"
# 無效命令,常規返回已存在的代碼
return 127
}
贈品:sudo 嘲諷
編輯 sudoers
文件:
$ sudo visudo
追加下面這一行:
Defaults insults
或者像下面尾行增加一句嘲諷語:
Defaults !lecture,tty_tickets,!fqdn,insults
這是我的文件:
Defaults env_reset
Defaults mail_badpass
Defaults secure_path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
## If set, sudo will insult users when they enter an incorrect password. ##
Defaults insults
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL = (ALL:ALL) ALL
# Members of the admin group may gain root privileges
% admin ALL = (ALL) ALL
# Allow members of group sudo to execute any command
% sudo ALL = (ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
試一試:
$ sudo -k # 清除緩存,從頭開始
$ sudo ls /root/
$ sudo -i
樣例對話:
贈品:你好 sl
sl 或是 UNIX 經典搗蛋軟體 遊戲。當你錯誤的把 ls
輸入成 sl
,將會有一輛蒸汽機車穿過你的屏幕。
$ sl
via: https://www.cyberciti.biz/howto/insult-linux-unix-bash-user-when-typing-wrong-command/
作者:Vivek Gite 譯者:CYLeft 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive
對這篇文章感覺如何?
太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
More in:Linux中國
如何通過 VLC 使用字幕
使用 VLC 媒體播放器播放和管理字幕的新手指南。
Unix 桌面:在 Linux 問世之前
僅僅開源還不足以實現開放,還需開放標準和建立共識。
Valve 對於 Ubuntu 的 Snap 版本的 Steam 並不滿意:原因何在
你可能會發現,Snap 版本的 Steam 並不如你期待的那樣好,你怎麼看?
Wine 9.0 發布,實驗性地加入了 Wayland 驅動
Wine 的這個新版本正在為未來做好準備!