我在我的编辑器中写了这个命令,但是没有结果(没有仓库目录)
sudo mkdir -p /Downloads/hive/warehouse
我该如何让它工作?
答案1
你所说的“编辑器”是什么意思?为什么你会期望在编辑器中编写某些内容后得到结果编辑,而不是终端?
您认为文件夹是在哪里创建的?由于开始/
,您要求 Ubuntu 在系统根目录下创建一个目录,而不是在您的主目录中或其他地方。
答案2
您没有列出您的编辑器,也没有列出完整的脚本,也没有列出您从哪个权限/用户(权限)执行 bash 脚本。这是C:\
在名为(在 Windows Subsystem for Linux WSL 中)Ubuntu 16.04 的 bash 脚本中创建文件夹的正确且功能齐全的语法(在 Windows 10 资源管理器中也可见)example.sh
:
#!/bin/bash
#First a non-parametric example:
sudo mkdir -p "/mnt/c/exampleFolderOne"
#Secondly, a parametric example, first store the path as a string:
stringName="/mnt/c/exampleFolderTwo"
#Make the actual folder
sudo mkdir "$stringName"
执行此操作所遵循的协议是:
- 以管理员权限启动 Windows 10。(因此,不是以名为“管理员”的用户身份登录,而只是以具有管理员权限的普通 Windows 10 用户帐户登录。)
- 打开 WSL Ubuntu 16.04
- 使用命令获取root权限
sudo su
- 在终端中:转到要创建
example.sh
bash 脚本的文件夹。在本例中是/home/<username>/maintenance
。 - 输入:
sudo nano example.sh
并按<enter>
。 - 将上面列出的代码文本复制粘贴到此帖子中。
Ctrl+x
退出。Y
保存更改- 按
<enter>
- 然后使用命令使 bash 脚本可运行(同时仍在同一文件夹中)
chmod +x example.sh
- 然后使用命令运行脚本:
./example.sh
- 这将在硬盘中创建如附图所示的两个文件夹
c:/
(在 Ubuntu 中使用 可以访问/mnt/c
)。 - 通过打开创建文件夹的文件夹并按下
F5
或刷新资源管理器视图并在资源管理器视图中查看文件夹来验证文件夹的创建。
我认为我的解决方案很简单,而您的问题有不同的原因,但至少这可以作为排除问题的潜在原因(例如拼写错误或程序错误)的一种形式。