我正在学习一个教程,其中我必须创建一个目录,但也传递-p
标志。我尝试运行它,我得到了一个syntax failure
。所以我想弄清楚-p
做了什么,发现这个缩写是privileged的缩写。
脚本以“suid”运行(注意!)
开始研究这意味着什么,发现它意味着设置用户标识并阅读
- 运行设置了SUID位的命令或脚本时,其有效UID将变为文件所有者的UID,而不是运行该文件的用户的UID。Source
但是,我仍然不太明白。**我设置目录具有该 * 特权 * 的目的是什么?为什么要小心?**另外,我尝试在此处查找,但找不到任何说明(用我用的不同搜索关键词)。还有,没必要。。但是,为什么我做mkdir -p src/entities
会给予我一个语法错误?我使用的是Windows(但我也有一个Anaconda的Bash包)。
2条答案
按热度按时间7bsow1i61#
看起来你正在学习一个Unix教程,但是在
cmd.exe
中运行Windows上的命令。正如使用说明所述:
Windows命令不使用
-
作为选项(特别是,cmd
中内置的mkdir
命令不理解-p
)。有关“特权”的部分是针对 *shell选项 *
-p
的,如bash -p
中所示,与mkdir -p
无关,man mkdir
中对此进行了解释:x1米9英寸1x,
--parents
如果存在则没有错误,根据需要创建父目录
但同样,这只适用于Unix
mkdir
,而不适用于Windows /cmd
。syqv5f0l2#
如果父目录不存在,则使用"-p"创建父目录。
例如:
如果"第一个"目录不存在,则使用"-p"。
如果"第一个"目录不存在,则不使用"-p"。