如何在Shell脚本中创建文件

4
我需要编写一个Shell脚本,从环境变量中读取一个变量。如果该变量指向的文件不存在,我想要创建它。这个文件路径可能包含一些不存在的中间目录,因此这些目录也需要被创建。所以既不能使用mkdir -p,也不能使用简单的touch命令。有什么解决方法?谢谢!
2个回答

8
mkdir -p "`dirname $foo`"
touch "$foo"

dirname 可以处理任意路径;它不会检查路径是否在使用中(文件是否存在)。


1
美丽,+1。"所以在这里既不能使用mkdir -p,也不能使用简单的touch" - 我们会看看的,我的漂亮女士 :-) - paxdiablo
2
这将在错误(当前)目录中创建文件。您不需要使用“basename”。 - knittl
谢谢@knittl,是我犯了一个错误。 - Fred Foo

0
为什么不把它们结合起来呢?mkdir -p /directories/.... && touch /directories/file


6
& 运算符不会实现你想要的功能。你可能想用的是 && - wormsparty

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接