我想在目录abc.php
中创建一个尚不存在的文件a/b/c
。我需要使用像mkfile a/b/c/abc.php
这样的单个命令来执行此操作。我检查了this解决方案,该解决方案建议像mkfile a/b/c abc.php
这样的解决方案。
与此同时,我希望在编辑器中打开文件,使用nano命令。
通常在遵循教程的同时,我们必须创建文件并复制并粘贴文件目录而不进行编辑,这样可以简化生活。
答案 0 :(得分:2)
如果我理解正确并且您只是希望能够发布command foo/bar/baz/myfile.txt
(或类似内容)并创建目录foo/bar/baz
并在{中创建并打开新文件myfile.txt
{1}}所有这一个命令,然后你需要一个简短的脚本,例如
将其设为可执行文件,例如nano
,然后致电mv nanoopen.sh scriptname; chmod 0755 scriptname
./scriptname
。如果你把它放在路径中,你可以跳过./ too 。
将它放在路径中的简单方法是在foo/bar/baz/file.txt
中创建一个符号链接,通常在默认路径中。
所以你可以(有时需要超级) /usr/local/bin
。 Echo $ PATH 确认 / usr / local / bin 在您的路径中,然后像任何程序,scriptname参数一样使用它。
或者在某些发行版中,您只需将其添加到具有root访问权限的ln -s /path/to/nanoopen.sh /usr/local/bin/scriptname
文件夹即可。
/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