Linux:我可以在创建新文件时创建不存在的目录吗?

deb*_*deb 4 linux command-line

我可以:

mkdir messages
Run Code Online (Sandbox Code Playgroud)

进而:

touch messages/hello.txt
Run Code Online (Sandbox Code Playgroud)

是否有一个命令可以同时执行 - 如果目录不存在则创建目录,然后创建空文件?就像是:

touch -p messages/hello.txt
Run Code Online (Sandbox Code Playgroud)

Ign*_*ams 6

coreutils 中没有任何内容,但这里有一个 bash 函数:

mktouch() {
  mkdir -p "$(dirname "$1")"
  touch "$1"
}
Run Code Online (Sandbox Code Playgroud)