You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于用户输入创建文件(Bash):新手求助带时间戳的文件生成脚本

修正后的Bash脚本实现

先指出原代码的几个问题:

  • read -p未指定存储输入的变量,且多余的read $REPLY属于错误写法,会导致逻辑混乱
  • 循环次数固定为100,没有使用用户输入的文件数量,且eval的写法存在安全风险
  • 文件名固定,所有创建的文件会重名,也没有加入时间戳

以下是修正后的脚本:

#!/bin/bash

# 读取用户输入的文件数量,存入count变量
read -p "Enter the amount of files you want to create: " count

# 用C风格循环遍历1到count的数字
for ((i=1; i<=count; i++)); do
    # 生成包含时间戳和序号的文件名,避免重名
    timestamp=$(date +%Y%m%d_%H%M%S)
    touch "file_${timestamp}_${i}.txt"
done

关键部分说明:

  • read -p "..." count:把用户输入的数字直接存入count变量,不需要额外的read命令
  • for ((i=1; i<=count; i++)):Bash的C风格循环,安全且直观地控制循环次数,替代原有的不安全eval写法
  • date +%Y%m%d_%H%M%S:生成格式为年月日_时分秒的时间戳,你可以根据需求调整格式(比如%s是Unix时间戳)
  • touch "file_${timestamp}_${i}.txt":文件名同时包含时间戳和循环序号,确保每个文件名唯一,不会被覆盖

内容的提问来源于stack exchange,提问作者Elizr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 22:27:26