【问题标题】:How to force directories beeing created for my link如何强制为我的链接创建目录
【发布时间】:2018-07-12 12:09:35
【问题描述】:

我有一个正在创建链接的大文件。

f.e.

    ln -s ../AAA2/myfile.txt ../dir1/dir2/dir3/dir4/mylink.ln

很遗憾,尚未创建目标目录结构。 有没有办法在创建链接之前强制创建目录(这里是 dirX )?

谢谢

【问题讨论】:

  • @Pesa谢谢,你能解释一下最后一部分的“$_”吗?这是一个变量吗?
  • 哦,我弄错了,我收回,对不起。
  • @PesaThe 非常感谢!

标签: bash ln


【解决方案1】:

创建目录不是ln 的工作;那是mkdir 的工作。

dest=../dir1/dir2/dir3/dir4/mylink.ln
mkdir -p "${dest%/*}"
ln -s ../AAA2/myfile.txt "$dest"

【讨论】:

  • 谢谢,所以我必须为一个链接制作 3 行。由于 dest 目录并不总是相同的。我理解正确吗?谢谢
  • @WalterSchrabmair 您可以使用此代码创建一个函数。
  • 不行,你必须使用三行来创建多个目录和一个链接。 ../dir1/dir2/dir3/dir4/mylink.ln 不是链接;这是一条路径。只有mylink.lnln创建的链接;其他所有内容都是一组目录,可以告诉您mylink.ln 在哪里。如果-p 选项不存在,它甚至会是更多 行;你必须写mkdir ../dir1; mkdir ../dir1/dir2; mkdir ../dir1/dir2/dir3; ...
猜你喜欢
  • 2012-09-04
  • 1970-01-01
  • 1970-01-01
  • 2014-08-06
  • 2019-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
相关资源
最近更新 更多