这是我会做什么:
mkdir -p /my/other/path/here && touch $_/cpredthing.txt
这里, $_
是一个变量,表示我们按行执行的上一个命令的最后一个参数。
与往常一样,如果你想看到的输出可能是什么,你可以通过使用echo
命令,像这样测试它:
echo mkdir -p /code/temp/other/path/here && echo touch $_/cpredthing.txt
,其输出为:
mkdir -p /code/temp/other/path/here
touch /code/temp/other/path/here/cpredthing.txt
作为奖励,您可以使用括号扩展一次写入多个文件,例如:
mkdir -p /code/temp/other/path/here &&
touch $_/{cpredthing.txt,anotherfile,somescript.sh}
再次,echo
完全可测试:
mkdir -p /code/temp/other/path/here
touch /code/temp/other/path/here/cpredthing.txt /code/temp/other/path/here/anotherfile /code/temp/other/path/here/somescript.sh
发现这一点:http://stackoverflow.com/questions/1529946/linux-copy-and-create-destination-dir-if-it-does-not -exist – 2012-02-26 12:16:36
如果文件及其目录的创建至关重要,那么必须编写一个提供此操作的文件系统。标准的Linux文件系统是不可能的。 – 2013-10-10 07:30:06
@toop我明白这个问题现在是一年半的时间,但最近有几个答案被合并到这个问题中。如果你经常需要这种类型的东西,你可能会发现[我的回答](http://stackoverflow.com/a/19288855/119527)有用。 (我认为比接受的答案更有用,但我不是在这里乞求代表:-)) – 2013-10-23 04:57:03