如何在 Bash 脚本搞乱我的键盘后修复它

如何在 Bash 脚本搞乱我的键盘后修复它

好吧,我太蠢了。我运行了一个从互联网上的某个论坛(我想是 github)上找到的 bash 脚本,它说终端上会出现一个很酷的矩阵,这确实发生了,但它也弄乱了我的键盘。

为了写出这条帮助信息,我不得不复制粘贴每一个 m、w、. 和 d,否则它们看起来就像这样:ñ、ü、ç 和 ɗ

有没有什么办法可以撤销这个?我知道这看起来很搞笑,但打字真的很麻烦。

我想知道是否有人了解 bash 脚本可以帮助我扭转损害,这些都是我在终端中遇到的问题。

当我尝试修改脚本时发生这种情况:

E325: ATTENTION
Found a swap file by the name ".bash matrix.swp"
          owned by: chris   dated: Thu Jan  8 00:35:25 2015
         file name: ~chris/Documents/pr0grams/bash matrix
          modified: YES
         user name: chris   host name: ubuntu
        process ID: 16416
While opening file "bash matrix"
             dated: Sun Dec  7 23:35:13 2014

(1) Another program may be editing the same file.  If this is the case,
    be careful not to end up with two different instances of the same
    file when making changes.  Quit, or continue with caution.
(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r bash matrix"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file ".bash matrix.swp"
    to avoid this message.

Swap file ".bash matrix.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

脚本本身如下:

/bin/bash #!/bin/bash
蓝色="\033[0;34m"
brightblue="\033[1;34m"
青色="\033[0;36米"
亮青色="\033[1;36m"
绿色=“\033[0;32米”
亮绿色=“\033[1;32米”
红色=“\033[0;31米”
亮红色="\033[1;31m"
白色=“\033[1;37米”
黑色=“\033[0;30米”
灰色=“\033[0;37米”
darkgrey="\033[1;30米"
颜色=($绿色$亮绿色)
间距=${1:-100}
滚动=${2:-0}
屏幕线 = $(expr `tput lines` - 1 + $scroll)
screencols=$(expr`tput cols`/2-1) 复制代码
chars=(アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン)
计数=${#chars[@]}
颜色数=${#颜色[@]}
陷阱“tput sgr0;清除;退出”SIGTERM SIGINT && setxkbmap gh fula
如果 [[ $1 =~ '-h' ]]; 那么
    echo "用法:矩阵 [SPACING [SCROLL]]"
    出口 0
清除
tput 杯 0 0
尽管 :
    在 $(eval echo {1..$screenlines}) 中为 i 执行
        在 $(eval echo {1..$screencols}) 中为 i 执行
            执行 rand=$(($RANDOM%$spacing))
                案例 $rand 在
                    0)
                        printf "${颜色[$RANDOM%$颜色计数]}${字符[$RANDOM%$计数]} "
                        ;;
                    1)
                        打印“”
                        ;;
                    *)
                        printf "\033[2C"
                        ;;
                埃萨克
            完毕
            打印“\n”
        完毕
        tput 杯 0 0
    完毕

然后它要求创建一个加密密钥,我记得它。

请帮忙,我知道我是个白痴,应该先在虚拟环境中测试它。

编辑格式很糟糕,我找到了获取它的论坛:https://github.com/MKorostoff/bash-sandbox/blob/master/matrix.sh

答案1

命令setxkbmap是你的问题 - 尝试setxkbmap gb(或我们,或其他任何...)重置;你目前处于任何gh fula代表的状态!

答案2

我将 setxbmap gh fula 更改为 setxbmap us,这样就修复了我的键盘。是的,我得到的似乎是修改后的版本,而不是 github 版本。加密乱码第一次出现是在我尝试将字符从日文符号修改为英文字母和数字时,但在删除 .swp 文件后,我再也没有看到这种乱码(也许我搞错了 chmod +??? 命令?)。我运行了 chkrootkit,它找到的唯一一个是 suckit,但这似乎只是一个常见的误报。我还运行了 rkhunter,但什么也没发现。感谢所有答案,它们都很有帮助。也感谢重新格式化我原始帖子的人,之前它很乱。

相关内容