在单个命令行中创建文件以及嵌套目录
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!
以上是关于在单个命令行中创建文件以及嵌套目录的主要内容,如果未能解决你的问题,请参考以下文章
开发环境Android 命令行中执行 Java 程序 ( IntelliJ IDEA 中创建 Java / Kotlin 工程 | dx 打包 DEX 字节码文件 | dalvikvm 命令 )(代码