在单个命令行中创建文件以及嵌套目录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在单个命令行中创建文件以及嵌套目录相关的知识,希望对你有一定的参考价值。

我想在目前尚不存在的abc.php目录中创建一个文件a/b/c。我需要用像mkfile a/b/c/abc.php这样的单一命令来做这件事我检查了this解决方案,它建议像这样的mkfile a/b/c abc.php解决方案。

与此同时,我希望在编辑器中打开文件,使用nano命令。

通常在遵循教程时,我们必须创建文件并复制和粘贴其文件目录而不进行编辑,这样可以简化生活。

答案

如果我理解正确并且您只是想发布command foo/bar/baz/myfile.txt(或类似的东西)并创建目录foo/bar/baz并在myfile.txt中创建并打开一个新文件nano,那么只需要一个简短的脚本,例如

使其可执行,例如mv nanoopen.sh scriptname; chmod 0755 scriptname,然后打电话给./scriptname foo/bar/baz/file.txt。如果你把它放在你的路径中,你也可以跳过./。

将它放在路径中的简单方法是在/usr/local/bin中创建一个符号链接,它通常位于默认路径中。所以你可以(有时需要超级)ln -s /path/to/nanoopen.sh /usr/local/bin/scriptname。 Echo $ PATH确认/ usr / local / bin在你的路径中,然后就像任何程序,scriptname参数一样使用它。或者在某些发行版中,您只需将其添加到具有root访问权限的/bin文件夹即可。

#!/bin/bash

[ -z "$1" ] && {  ## validate one argument given
    printf "error: insufficient input\nusage: %s filename\n" "${0##*/}"
    exit 1    
}

[ "$1" != "${1##*/}" ] && mkdir -p "${1%/*}"  ## if it has directories, create
touch "$1"                                    ## create the file

exec nano "$1"     ## open in nano

示例使用/输出

$ bash nanoopen.sh foo/bar/baz/main.c

$ tree foo/
foo/
└── bar
    └── baz
        └── main.c

$ cat foo/bar/baz/main.c
My new source!

以上是关于在单个命令行中创建文件以及嵌套目录的主要内容,如果未能解决你的问题,请参考以下文章

REST API:在单个查询中创建嵌套资源

开发环境Android 命令行中执行 Java 程序 ( IntelliJ IDEA 中创建 Java / Kotlin 工程 | dx 打包 DEX 字节码文件 | dalvikvm 命令 )(代码

在命令行中创建Django项目

如何在单个tableView中创建各种类型的单元格?

在 1 行中创建具有 2 个不同数据的嵌套表

在片段中创建日期选择器