我正在尝试按照以下说明创建一个目录,其中包含四个子目录,每个子目录中都有五个新的空文件:
使用第一个位置参数的名称创建目录(选择所需的名称)。
使用for循环执行以下操作:
2.1。在目录中,创建具有以下名称的四个子目录:租金,公用事业,杂货等。
2.2。在for循环中,用例语句确定循环中当前正在处理哪个子目录。您将需要4 案例。
2.3。在每种情况下,请使用for循环通过touch命令创建5个空文件。每个子目录中都必须有5个文件。
到目前为止,我一次创建了一个目录和几个子目录,每个子目录都有一个特定的名称,如您在我的代码中所见:
mkdir $1
for folder in $1; do
mkdir -p $1/{Rent,Utilities,Groceries,Other}
done
但是,我陷入了以下步骤(2.2。),而且我不知道如何从此处继续。
有什么想法吗?
答案 0 :(得分:2)
在我读到它时,这就是2.1和2.2的要求:
for folder in rent utilities groceries other; do
mkdir "$1/$folder"
case $folder in
rent)
...
;;
utilities)
...
;;
groceries)
...
;;
other)
...
;;
esac
done
我将这些案例留空供您填写。
对于它的价值,我永远不会以这种方式编写脚本。在case
循环中包含for
语句是一种反模式。循环确实没有任何价值。如果这不是一项任务,我会用不同的方式编码:
mkdir "$1"
# Populate rent/ directory.
mkdir "$1"/rent
touch "$1"/rent/...
# Populate utilities/ directory.
mkdir "$1"/utilities
touch "$1"/utilities/...
# Populate groceries/ directory.
mkdir "$1"/groceries
touch "$1"/groceries/...
# Populate other/ directory.
mkdir "$1"/other
touch "$1"/other/...