BASH重定向创建文件夹

标签 bash

我怎样才能有下面的命令

echo "something" > "$f"

$f 将类似于 folder/file.txt 创建文件夹 folder 如果不存在?

如果我做不到,我如何让脚本将目录“a”中的所有文件夹(没有内容)复制到目录“b”?

例如,如果我有

a/f1/
a/f2/
a/f3/

我想拥有

b/f1/
b/f2/
b/f3/

最佳答案

这里的其他答案是使用外部命令dirname。这可以在不调用外部实用程序的情况下完成。

mkdir -p "${f%/*}"

您还可以检查目录是否已经存在,但这并不是真正需要 mkdir -p:

mydir="${f%/*}"
[[ -d $mydir ]] || mkdir -p "$mydir"

关于BASH重定向创建文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9022383/

相关文章:

linux - 希望在 linux 中获得等同于 ms-dos 的超时/等待命令

mysql - 从 bash 脚本运行 sql 命令?

linux - 如何在 Bash 中创建一个 3 秒计时器?

php - 无法从 PHP 执行 Bash 脚本

bash - 通过重定向运行 awk

regex - 如果第一个空格是 2 个空格,则在文件中将其设置为 1

bash - 用 bash 中的另一列替换 CSV 文件中的列

bash - 带文件名的递归猫

bash - 如何直接在bash脚本中运行PowerShell核心命令?

git - 如何git添加当前项目中的所有文件,提交并进行推送?