我知道mkdir -p
将以递归方式创建目录。
我知道touch
会递归创建一个文件。
我知道mkdir -p foo/bar; touch foo/bar/baz.txt
会有效,但touch
是否有旗帜或其他内容,所以我可以一步到位?
我确信这个问题在一百万次之前已经被问过了,但出于某种原因我才会空洞。
答案 0 :(得分:6)
别名或功能怎么样:
function my_touch {
mkdir -p $(dirname $1) && touch $1
}
my_touch /tmp/a/b/aaa ; ls -l /tmp/a/b/aaa
答案 1 :(得分:3)
做一件事,做得好。
如果你想这一步,只需编写一个bash函数或别名。
e.g:
function mytouch()
{
test -z "$1" && exit
dir=$(dirname $1)
test -d $dir || mkdir -p $dir
touch $1
}