gpt4 book ai didi

linux - 使用 bash 脚本创建文件夹和文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:49:08 24 4
gpt4 key购买 nike

我必须创建 50 个文件夹,每五个文件夹中应该有 2*2 个文件,例如

folder1
.
.
folder5 - has 2 files in it
folder 6
.
.
folder 10 - has 4 files in it
.
.
folder 15 - has 8 files in it

这是我的代码:

#!/bin/bash


n=1
declare -i countFolder

for (( countFolder = 1; countFolder <= 50; countFolder++ ))
do
mkdir Folder$countFolder
done

for (( countFolder = 5; countFolder <= 50; countFolder = countFolder+5 ))
do

let "n = n * 2"

for (( f = 0; f < n; f++ )) do
cd Folder$countFolder && touch File$f.txt
done
done

最佳答案

问题在于您cd 进入一个目录,但您永远不会cd 返回。

解决此问题的最简单方法是在 cd 两边添加括号。这些括号开始一个子 shell,因此 cd 留在其中:

for (( f = 0; f < n; f++ )) do
( cd Folder$countFolder && touch File$f.txt )
done

这等同于但短于手动cd ..:

for (( f = 0; f < n; f++ )) do
cd Folder$countFolder && { touch File$f.txt; cd ..; }
done

关于linux - 使用 bash 脚本创建文件夹和文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37449516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com