我打开一个终端,将整个命令放在引号中,它回答“找不到命令”。到底是怎么回事?

Lea*_*ton 0 command-line fish

当我打开终端时我得到了这个:

Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
leah@leah-pc ~>
Run Code Online (Sandbox Code Playgroud)

...然后我尝试运行命令:

leah@leah-pc ~> 'dpkg --configure -a' 
dpkg --configure -a: command not found
Run Code Online (Sandbox Code Playgroud)

...这没有按预期工作。接下来我该怎么办?

Raf*_*ffa 11

您似乎在单引号内运行命令,其中包含引号'dpkg --configure -a'双引号"..."也会产生相同的结果)...这将导致整个命令(包括其选项和参数)被 shell 作为一个读取单个令牌并按此处理,即 shell 将尝试调用该命令,dpkg --configure -a而不是调用该命令dpkg并向其传递选项--configure,并且-a...这是行不通的。

尝试删除引号,dpkg --configure -a然后使用它,sudo因为该操作需要提升权限才能运行,如下所示:

sudo dpkg --configure -a
Run Code Online (Sandbox Code Playgroud)

...它应该有效。