Bash命令用于在必要时创建新文件及其父目录

Pen*_*ang 19 bash shell

使用-p(--parents)选项,mkdir根据需要创建父目录.

touch, vim或者>可以在bash中创建新文件,但仅限于父目录存在时.

如何在一个命令中创建新文件及其父目录?就像什么-p做的mkdir

lin*_*uts 17

安装是你的朋友:

install -Dv /dev/null some/new/path/base-filename
Run Code Online (Sandbox Code Playgroud)

  • 注意:`make -p`不会更改自身或子文件夹(如果存在),但`install/dev/null DEST`将截断(清空)文件(如果文件已存在). (3认同)
  • 谢谢,这有帮助:D 顺便说一句,你可以跳过 -v 标志。 (2认同)

mkl*_*nt0 13

这是一个shell 函数:

mkfileP() { mkdir -p "$(dirname "$1")" || return; touch "$1"; }

# Sample call
mkfileP "./newSubDir/test.txt" && echo 'created or touched' || echo 'failure'
Run Code Online (Sandbox Code Playgroud)

例如,您可以将其放在shell配置文件中.

或者,将其实现为脚本(根据需要添加错误处理和命令行帮助):

#!/usr/bin/env bash

mkdir -p "$(dirname "$1")" || exit
touch "$1"
Run Code Online (Sandbox Code Playgroud)