我正在按照一本书中的教程并尝试安装 Oracle JDK 8。
我打开了一个终端并在美元提示符后输入了以下命令:
sudo mkdir -p/usr/lib/jvm/
然而,它抛出了以下错误:
mkdir:无效选项——‘/’
我究竟做错了什么?
答案1
之后需要一个空格-p
,所以......
sudo mkdir -p /usr/lib/jvm/
答案2
您应该在选项 e 之后的目录名之前写一个空格
sudo mkdir -p /usr/lib/jvm/
关于选项和空间使用的一些话。
一般情况下,使用选项后的空格取决于您要使用的命令和选项。每次您都必须阅读命令的概要。在这种情况下,您可以使用man mkdir
。
SYNOPSIS
mkdir [OPTION]... DIRECTORY...
DESCRIPTION
...
-m, --mode=MODE
set file mode (as in chmod), not a=rwx - umask
-p, --parents
no error if existing, make parent directories as needed
...
如果选项是用空格书写您必须使用 option 和 option_argument 之间的空格。如果不存在,则不必使用它。您可以查看下面的标准链接以获取规则和例外的完整列表。
此外,在同一个命令中,你可以用两种或更多种不同的方式调用同一个操作。
因此,对于使用相同命令的另一个选项,你可以这样做
mkdir A -m a+x
mkdir A --mode=a+x
这些命令是等效的并产生相同的效果,但在第一种情况下需要空格,而在第二种情况下则不需要。
笔记:
- 该选项
-p
不需要--parents
参数,但必须与您要创建的目录的名称分开。
参考文献:
如果有兴趣,你可以阅读更多这些标准IEEE 标准 1003.1-2001 12.1.2和GNU Getopt。