bash - 根据用户输入和 while 循环在 bash 中创建文件

标签 bash input scripting

我正在创建一个脚本,它将接受用户输入的文件名和要创建的文件数。

然后,脚本将创建所需数量的文件,并使用给定的名称,但每次迭代都会将文件名增加 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

最佳答案

您的脚本即将运行。您只需要:

  1. 取消注释 var1赋值线
  2. $file_number 之间添加一个空格和]在 while 循环线上
  3. 更改cattouch (或任何其他可能性)自 cat不创建文件而是读取它们。
  4. 使用$file_name$var1.txtcat (现在 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/

相关文章:

bash - 如何将密码传递给bash中的命令

bash - 具有重复值的 awk

html - Chrome 自动格式化 input=number

c++ - 如何从 lua 脚本访问 C++ 类成员函数?

iis - 使用Powershell更改IIS6站点主目录

php - shell heredoc inside php heredoc

linux - "while (sleep 100 &!) do; done"在 zsh 中如何工作,它如何在 bash 中复制?

php - 如何使用 PHP 解释 HTML5 输入日期值

java - 如何根据用户输入执行不同的操作

linux - Linux 的进程计数差异