我需要touch一个绝对文件名的文件,例如:/opt/test/test.txt,但我不确定系统中是否存在/opt/test。所以代码应该与此类似:
if (-d '/opt/test') {
touch '/opt/test/test.txt';
} else {
mkdir -p '/opt/test';
touch '/opt/test/test.txt'
}
有没有更好的方法来简化代码?我希望有一些系统命令可以只用一行完成同样的工作。
最佳答案
mkdir B && touch B/myfile.txt
或者,创建一个函数:
mkfile() {
mkdir -p $( dirname "$1") && touch "$1"
}
使用 1 个参数执行它:文件路径。说:
mkfile B/C/D/myfile.txt
将在目录 B/C/D 中创建文件 myfile.txt。
关于linux - 如果需要,如何在一行中触摸文件和 mkdir,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28296411/