人这一辈子,真的是非常不容易:读书时,被老师、同学嘲笑,工作时,被老板、同事嘲笑,就连出去撸个串儿,还可能被朋友嘲笑……

这些也就算了,毕竟大家还都是同类,都是活生生的人。但是,你如果被 Linux 终端给嘲笑了,你的内心会是什么感受?

今天要介绍的,是一个非常有趣的 CLI 工具,这个工具可以实现当你在终端输错命令时,会随机回复一句嘲笑你的话。虽然是嘲笑人的工具,但良许觉得还是挺有趣的,给枯燥的工作带来一些乐趣。

Linux 终端嘲笑器的安装

这是一个在 GitHub 上的开源项目,所以可以直接 clone 到本地:

git clone https://github.com/hkbakke/bash-insulter.git bash-insulter

将下载后的 bash.command-not-found 文件复制到 etc 目录下:

sudo cp bash-insulter/src/bash.command-not-found /etc/

然后,再将 bash.command-not-found 添加到 bash.bashrc 文件里:

$ vi /etc/bash.bashrc

#Bash Insulter
if [ -f /etc/bash.command-not-found ]; then
. /etc/bash.command-not-found
fi

运行以下命令使以上的改动生效:

sudo source /etc/bash.bashrc

大功告成了!接下来你就可以测试一下这个神奇的会嘲笑人的工具!

Linux 终端嘲笑器的使用

我们随便乱输一些不存在的「命令」,然后就接受它的嘲笑吧~

[alvin@VM_0_16_centos ~]$ sldkf

  Why are you doing this to me?!

-bash: sldkf: command not found
[alvin@VM_0_16_centos ~]$ iehf You are not as bad as people say, you are much, much worse. -bash: iehf: command not found
[alvin@VM_0_16_centos ~]$ sdfas How many times do I have to flush before you go away? -bash: sdfas: command not found

Linux 终端嘲笑器的配置

上面那些嘲讽的句子,其实是可以配置的,它的文件就是刚刚复制的 bash.command-not-found 文件,直接编辑它,就可以自己添加一些句子。

# vi /etc/bash.command-not-found

print_message () {

    local messages
local message messages=(
"Boooo!"
"Don't you know anything?"
"RTFM!"
"Haha, n00b!"
"Wow! That was impressively wrong!"
"Pathetic"
... #省略
}

当然,这个也可以写成中文的。如果你不喜欢这些嘲讽的话,你可以将它们改成一些鼓励的话,比如:加油哦,棒棒哒,你行的 ,就看你的脑洞啦~


公众号:良许Linux

有收获?希望老铁们来个三连击,给更多的人看到这篇文章

说出来也许你不信,我被 Linux 终端嘲笑了……的更多相关文章

  1. 从Linux终端管理进程:10个你必须知道的命令

    从Linux终端管理进程:10个你必须知道的命令 Linux终端有一系列有用的命令.它们可以显示正在运行的进程.杀死进程和改变进程的优先级.本文列举了一些经典传统的命令和一些有用新颖的命令.本文提到的 ...

  2. Linux终端复用神器-Tmux使用梳理

    Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权.使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“ ...

  3. 如何记录linux终端下的操作日志

    如何记录linux终端下的操作日志 在linux终端下,为方便检查操作中可能出现的错误,以及避免屏幕滚屏的限制,我们可以把操作日志记录下来.常用的工具有 screen,script,以及tee等,通过 ...

  4. 这些孩子在 Ubuntu 的 Linux 终端下玩耍

    导读 我发现了一个孩子们在他们的计算机教室里玩得很开心的视频.我不知道他们在哪里,但我猜测是在印度尼西亚或者马来西亚.视频请自行搭梯子: https://youtu.be/z8taQPomp0Y 在L ...

  5. Linux终端那件事儿

    我们将会讨论如何更好的控制用户终端:也就说是键盘输入与屏幕输出.除了这些,我们还会了解我们编写的程序如何由用户处读取输入,即使是在输入重定向的情况下,以及确保输出到屏幕的正确位置.这里所提供的一些底层 ...

  6. Linux终端打印命令使用介绍

    常用linux打印命令 日常使用中或shell脚本中linux终端打印命令有echo和printf.  echo命令 功能说明:显示文字.语 法:echo [-ne][字符串]或 echo [--he ...

  7. 在linux终端远程登陆linux服务器

    在linux终端远程登陆linux服务器   原来在Linux终端远程登陆linux服务器是那么的容易,如果的服务器用户名是abc(也可以是root),只需要在终端输入: 然后电脑会提示输入密码就登录 ...

  8. PS1应用之——修改linux终端命令行各字体颜色

    最近在学习linux操作系统(CentOS 6 & CentOS 7).觉得linux终端命令行全部为白色,会经常导致命令与输出内容难以分辨.于是上网找到修改linux终端命令行颜色的方法,发 ...

  9. Linux终端下安装jdk

    linux 终端下安装jdk(rpm方法) 1.下载jdk对应版本rpm文件(以下称为jdk.rpm) 放在对应文件夹下 2.使用命令给定权限 #chmod +x jdk.rpm 3.解压rpm文件 ...

随机推荐

  1. python+opencv检测图像清晰度

    直接上代码,list_jian.txt为待检测图像路径列表 import cv2 import numpy as np import os for path in open("list_ji ...

  2. "该公众号暂时无法提供服务,请稍后再试"的问题

    倒腾了好久,对微信公众号也不是很熟悉.不知道怎么看问题,php学的也不久. 1.定位问题. 网上找了很久,最后找到两种定位问题的方式. a.https://blog.csdn.net/qq_28506 ...

  3. 如何完美获得一个double值的整数部分

    如果是java有float类型的向上取整:Math.ceil() //只要有小数都+1向下取整:Math.floor() //不取小数四舍五入:Math.round() //四舍五入 如果是C++:方 ...

  4. 【总结】Array、ArrayList、List

    一.Array(数组) 1.申明时必须要指定数组长度. 2.数据类型安全. 申明数组如下: 1 class Program 2 { 3 static void Main(string[] args) ...

  5. Apache POI 操作Excel(3)-- Excel基础

    Excel基本组成 首先在生成Excel前,我们需要了解Excel文件的组织形式.一个Excel文件称为一个workbook,一个workerbook至少包含一个表单(sheet),一个表单有多个行( ...

  6. Spring系列.Bean简介

    Bean属性配置 Spring在读取配置文件中bean的metadata后会构造一个个BeanDefination对象.后面Spring会根据这些BeanDefinition创建对象.在配置一个bea ...

  7. 使用.net standard实现不同内网端口的互通(类似花生壳)

    应用场景 1.公司电脑与家中电脑的远程控制,一般通过teamview.向日葵等软件,端口互通后,可以使用电脑自带的远程桌面 2.家中电脑搭建SVN.git仓库,在外网或者内网访问,一般使用云服务器,端 ...

  8. VS2017配置PCL1.9.1 for win10

    安装链接 https://www.jianshu.com/p/463f54c91ab7 1.9.1 安装包下载 官网路径: https://github.com/PointCloudLibrary/p ...

  9. 每日一题 - 剑指 Offer 45. 把数组排成最小的数

    题目信息 时间: 2019-07-01 题目链接:Leetcode tag: 快速排序 难易程度:中等 题目描述: 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最 ...

  10. angular入门--列表排序

    首先,先上代码 <html ng-app="app1"> <head> <meta charset='utf-8' /> <meta na ...