Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
jmyz0455
V2EX  ›  Linux

粘贴命令并回车,会提示找不到命令,诡异的是手动输入命令就没问题。

  •  
  •   jmyz0455 · May 5, 2020 · 3736 views
    This topic created in 2290 days ago, the information mentioned may be changed or developed.

    在 bash 里,我安装了 fail2ban,想查看是否启动成功,我粘贴一句网上看到的命令 sudo fail2ban-client ping,然后给我返回的是 bash: sudo fail2ban-client ping: No such file or directory,在 zsh 里输入同样的内容,返回 zsh: command not found: sudo fail2ban-client ping

    如果输入了错的命令,zsh 会把输入的内容变为红色,然后我尝试着手动输入 sudo fail2ban-client ping,同样的命令,居然变绿了?回车一看,返回 Server replied: pong

    很奇怪喔,为什么粘贴不行,手动输入就可以的?而且手动输入成功了之后,粘贴命令还是不行,假如我粘贴了两次命令,都是不行了之后,按上箭头,第一句命令还是红色的,回车也是不行。但是按两次上箭头,命令居然变绿了,按回车是正常返回???

    真把我搞蒙了,有没有人能解释下这个有趣的现象?而且这个情况只出现在 sudo fail2ban-client ping 命令上,其他的我没遇到过。

    5 replies    2020-05-05 15:28:33 +08:00
    burringcat
        1
    burringcat  
       May 5, 2020 via Android
    你这明显是三个命令,sudo,fail2ban-client 和 ping,上面两次被解析成一个命令了。至于为什么,我也不知道。( shrugs )
    lewinlan
        2
    lewinlan  
       May 5, 2020 via Android
    空格是标准的么。粘到记事本里再粘 bash 试试
    GlobalNPC
        3
    GlobalNPC  
       May 5, 2020 via Android
    大概率非标准空格导致的
    vk42
        4
    vk42  
       May 5, 2020   ❤️ 1
    应该是 sudo 前面有个非标准空格或其它非可见字符被你一起 copy 了。试试用 echo "你拷贝的命令" | hexdump -C 看看
    jmyz0455
        5
    jmyz0455  
    OP
       May 5, 2020
    @burringcat 破案了!

    @lewinlan @infun 粘贴到 Sublime Text 3 上,果然不是标准空格,把空格重新改一下就可以了,谢谢各位。

    @vk42 输出:
    ❯ echo 'sudo fail2ban-client ping' | hexdump -C
    00000000 73 75 64 6f c2 a0 66 61 69 6c 32 62 61 6e 2d 63 |sudo..fail2ban-c|
    00000010 6c 69 65 6e 74 c2 a0 70 69 6e 67 0a |lient..ping.|
    0000001c
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3993 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 05:15 · PVG 13:15 · LAX 22:15 · JFK 01:15
    ♥ Do have faith in what you're doing.