【发布时间】:2017-07-18 21:00:12
【问题描述】:
我正在尝试编写一个 bash 脚本来克隆到一个名为“.janus”的非空目录。当我执行此脚本时:
#!/bin/bash
localFolder="~/.janus"
repository="git@github.com:aklt/plantuml-syntax.git"
git clone "$repository" "$localFolder"
我收到以下错误:
致命:目标路径 '~/.janus' 已经存在并且不是空的 目录。
我做错了什么?我可以查看 plantuml-syntax 目录是否已经存在,但事实并非如此。
如果我将脚本更改为:
#!/bin/bash
localFolder="$HOME/.janus"
repository="git@github.com:aklt/plantuml-syntax.git"
git clone "$repository" "$localFolder"
我收到以下错误:
致命:目标路径“/Users/user/.janus”已经存在并且不存在 一个空目录。
【问题讨论】:
-
顺便说一句,您不能在 shell 的赋值中在
=周围放置空格。这是shellcheck.net 会抓住的东西。 -
顺便说一句——问题中的代码不包含实际的克隆操作,因此不会生成消息中包含的问题。今后,请尽量遵循minimal reproducible example 准则。
-
我和@CharlesDuffy 在一起,我们需要查看代码。
-
哎呀,我粘贴了错误的脚本 - 以上是更正的版本
-
查看更新的版本——我猜你正在用你的脚本创建
'~/.janus',然后交互地检查~/.janus,而两者并不相同(因为前者位于名为~的目录下,而后者位于您的主目录中)。