我正在创建一个脚本,它将接受用户输入的文件名和要创建的文件数。
然后,脚本将创建所需数量的文件,并使用给定的名称,但每次迭代都会将文件名增加 1。
假设我想要 3 个文件,名为 boogey.txt。主文件夹中的输出将是: boogey1.txt、boogey2.txt 和 boogey3.txt。
这是我到目前为止的代码。
#!/bin/bash
var1=1
echo -n "Enter the number of your files to create: [ENTER]: "
read file_number
var2=file_number
echo -n "Enter the name of your file: [ENTER]: "
read file_name
var3=file_name
while [ "$var1" -le $file_number]
do
cat $file_name.txt
#var1=$(( var1+1 ))
done
最佳答案
您的脚本即将运行。您只需要:
- 取消注释
var1
赋值线 - 在
$file_number
之间添加一个空格和]
在 while 循环线上 - 更改
cat
至touch
(或任何其他可能性)自cat
不创建文件而是读取它们。 - 使用
$file_name$var1.txt
在cat
(现在touch
)行实际使用递增索引而不是裸文件名。
话虽这么说,这个脚本还可以得到极大的改进。请参阅下面的示例。
#!/bin/bash
read -p 'Enter the number of your files to create: [ENTER]: ' file_number
read -p 'Enter the name of your file: [ENTER]: ' file_name
for ((i = 1; i < file_number; i++); do
: > "$file_name$i.txt"
done
关于bash - 根据用户输入和 while 循环在 bash 中创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25898183/