通常(但并非总是),当我在计算机上启动终端并|
在命令中使用管道符 ( ) 时,pbpaste | wc
例如,bash 会给出-bash: wc: command not found
。 (双倍空格不是拼写错误)。
过了一会儿,我找到了一个解决方案:我删除了竖线 ( pbpaste |wc
) 后面的空格,一切正常。但是当我运行带有空格的竖线时,一切正常,并且 bash 发现该命令完全有效,即使几分钟前我输入了完全相同的命令时,它根本不喜欢该命令。
以下是该事件的截图:
我有两个非常相似的问题:
- 为什么 bash 会以不同的方式处理这两行,即使它们是相同的?我不知道为什么会发生这种情况。
- 我该如何修复这个问题?
答案1
错误信息中对问题进行了提示;有一个额外的空格显示:
bash: wc: …
而不是:
bash: wc: …
从你的问题来看,我猜你使用的是 Mac。我猜你使用的键盘布局|
要求使用 键才能输入字符。我认为可能发生的情况是,你在输入空格时Alt/Option让手指停留在键上。Alt
Alt+Space类型 a不间断空格而不是常规的空格字符,Bash 的解析器不认为它是任何类型的空格,因此将其作为命令名的一部分。
由于您打字更仔细,所以第二次才有效!