从用户输入和while循环创建bash文件

时间:2014-09-17 18:50:27

标签: bash input scripting

我正在创建一个脚本,该脚本将获取用户输入的文件名和要创建的文件数。

然后,脚本将创建所需的文件数,并使用给定的名称,但每次迭代时将文件名增加一个。

所以我想说我想要3个名为boogey的文件。主文件夹中的输出将是; 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 个答案:

答案 0 :(得分:2)

您的脚本几乎正常运行。你只需要:

  1. 取消注释var1分配行
  2. 在while循环行
  3. 上的$file_number]之间添加空格
  4. cat更改为touch(或其他任何可能性),因为cat不会创建它所读取的文件。
  5. 使用$file_name$var1.txt(现在cat)行中的touch来实际使用递增的索引而不是裸文件名。
  6. 据说这个脚本可以大大改进。请参阅下面的示例。

    #!/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