我在终端中玩耍,在尝试运行 nano 时我“错误点击”(尚未配置触控板,光标非常跳跃)。
接下来发生的事情让我大吃一惊。这是我的 LXTerminal 中打印的内容。(我是 ucd...)
ucd@ucd-uc:~$ sudo nano do.ws> > >For list information, ...
bash: syntax error near unexpected token `>'
ucd@ucd-uc:~$ [ADMIN] CraftBukkit Initscript for CentOS/Fedora/Ubuntu | Bukkit ...
[ADMIN]: command not found
Bukkit: command not found
ucd@ucd-uc:~$ forums.bukkit.org › Home › Forums › Bukkit › Bukkit Tools
forums.bukkit.org: command not found
ucd@ucd-uc:~$ 30 posts - 6 authors - Feb 19, 2012 30: command not found
ucd@ucd-uc:~$ This is an initscript to run a Minecraft or CraftBukkit server on ... CraftBukkit (pid 9037) is running. .... ERROR: Process ID list syntax error.
bash: syntax error near unexpected token `('
ucd@ucd-uc:~$ Getting the process ID in a shell script
那是什么?我的光标非常跳动,就像极度跳动一样,当这种情况发生时,它就会跳动。我不知道 Minecraft 或 Bukkit 是什么?
如果您能给我一些线索,我将不胜感激。此外,我的 faillog -a 输出中有一个名为“irc”的用户。这是正常的吗?
答案1
看来您不小心将一些文本粘贴到了终端中。由于您复制的文本包含回车符,因此命令被执行。我认为没有理由认为这里发生了什么不好的事情。
您粘贴的文本看起来类似于以下内容:
> > >For list information, ...
[ADMIN] CraftBukkit Initscript for CentOS/Fedora/Ubuntu | Bukkit ...
forums.bukkit.org › Home › Forums › Bukkit › Bukkit Tools
30 posts - 6 authors - Feb 19, 2012 30
This is an initscript to run a Minecraft or CraftBukkit server on ... CraftBukkit (pid 9037) is running. .... ERROR: Process ID list syntax error.
您收到的输出错误消息是大多与此输入一致。如果不一致,我怀疑某些字符只是没有正确复制和粘贴,或者终端窗口中显示的内容与您能够输入到帖子中的内容之间存在差异。我也改进了帖子的格式,但也许我犯了一个错误;这也可以解释差异。
我并不担心。除非你有额外的信息表明存在问题,我也不建议你担心。
所有错误消息的含义如下:
bash: syntax error near unexpected token `>'
运算>
符将左侧命令的输出重定向到右侧指定的文件。但是您有多个这样的运算符,它们之间用空格隔开(例如,您没有创建运算符>>
)。这是一个语法错误。后面>
只能跟有效的文件名。
[ADMIN]: command not found
您运行了一个包含运算符的字符串作为命令|
。这将运行其左侧的命令,并将其输出发送(管道)作为右侧命令的输入。左侧命令的第一个单词是[ADMIN]
,因此它被解释为命令的名称,其后的所有内容都被解释为该命令的命令行参数。
但是没有[ADMIN]
命令 - 没有该名称的 shell 内建命令、shell 别名、shell 函数或程序。因此,找不到该命令,无法运行。
Bukkit: command not found
这是同样的情况,只是在操作员的右侧|
。
forums.bukkit.org: command not found
您运行了一个命令,其中第一个单词(即,第一个空格之前)是forums.bukkit.org
,如[ADMIN]
和Bukkit
,没有名为 的命令forums.bukkit.org
。
ucd@ucd-uc:~$ 30 posts - 6 authors - Feb 19, 2012 30: command not found
我不完全清楚这里发生了什么。错误消息出现在输入命令的行上,这很不寻常,尽管有时在程序运行并产生奇怪的输出时会发生这种情况(输出没有预期的回车符,或者在程序已将终端的控制权返回给调用它的 shell 后产生的输出)。
但是看到另一个错误并不意外command not found
,错误来自于随机粘贴到终端的非命令文本。
bash: syntax error near unexpected token `('
您运行的行包含一个前括号(还有一个后括号,但 shell 无法解析它),但 shell 无法理解这种情况。括号用于对命令进行分组,而您给出的语法与该用法不一致。
ucd@ucd-uc:~$ Getting the process ID in a shell script
这根本不是输出。这只是您粘贴的最后一行。由于这是最后一行,因此没有粘贴回车符。因此,这只是您在提示符下粘贴的文本。您可以按Ctrl+C将其删除。