我在bash终端看到了一个奇怪的行为。我在终端命令行上运行相同的命令,但得到不同的结果。以下行从我的bash终端窗口复制粘贴:
me@me:~$ ls "/media/me/My Passport/Archive U/"
ls: cannot access /media/me/My Passport/Archive U/: No such file or directory
me@me:~$ ls "/media/me/My Passport/Archive U/"
Backup Documents Downloads Music Pictures Videos
我使用向上箭头键(将之前的命令带到当前行)多次尝试这两个命令,结果不会改变。为了确保该命令没有隐藏字符,我选择了两个命令并将其粘贴到spreed表并将每个字符转换为其代码并进行比较。没有区别。我尝试选择每个命令并单击鼠标右键,选择“复制”,再次右键单击,选择“粘贴”。如果我复制粘贴第一个命令,我得到第一个结果。我是复制粘贴第二个命令,我得到第二个结果!!!
有人能说两个命令有什么区别吗?我想没有人能做到!
我告诉你有什么区别。从文本文件中复制并粘贴第一个命令!
我使用的是Ubuntu 14.04。
**更新以确保我的复制过程**
以下行直接从终端窗口的history
输出中复制和粘贴:
2602 [2015-05-09 07:25:20] ls "/media/me/My Passport/Archive U/"
2603 [2015-05-09 07:25:54] ls /media/me/My\ Passport/Archive\ U/
2604 [2015-05-09 07:26:02] ls "/media/me/My\ Passport/Archive\ U/"
2605 [2015-05-09 07:26:10] ls "/media/me/My Passport/Archive U/"
2606 [2015-05-09 07:27:05] ls "/media/me/My Passport/Archive U/"
2607 [2015-05-09 07:28:26] ls "/media/me/My Passport/Archive U/"
2608 [2015-05-09 07:56:19] ls /media/me/My\ Passport/Archive\ U/
2609 [2015-05-09 07:57:06] ls "/media/me/My Passport/Archive U/"
2610 [2015-05-09 07:57:15] ls "/media/me/My Passport/Archive U/"
答案 0 :(得分:2)
我将你问题中的代码复制到vim中,看看:
me@me:~$ ls "/media/me/My Passport/Archive U/<200c>"
ls: cannot access /media/me/My Passport/Archive U/<200c>: No such file or directory
me@me:~$ ls "/media/me/My Passport/Archive U/<200c>"
Backup Documents Downloads Music Pictures Videos
U + 200c是零宽度非连接器,是一个不可见的字符。我怀疑你在创建问题时复制并粘贴了第一个失败的命令两次。你运行的两个命令确实不同;第一个命令包含从源文件中复制的字符,而在第二个案例中则不会键入字符。