我有兴趣在osx上运行的bash (version: 3.2.57(1)-release)
中创建一个while循环,该循环将运行特定的秒数/分钟。
例如,我想在 5秒期间创建 n 文件,每个文件都有当前日期和时间。
我的循环结构非常基础:
i=$cmd(date %ss)
j=$i + 10
while [ $i -lt $j ]
do
fileName=$cmd(cat /dev/urandom | env LC_CTYPE=C tr -cd 'a-f0-9' | head -c 32)
date > $fileName
i=date %ss
done
当我尝试执行脚本时,我收到以下错误:
loop.sh: line 1: syntax error near unexpected token `('
loop.sh: line 1: `i=$cmd(date %ss)'
i
计数器反映秒数,循环在10秒后停止*.txt
文件答案 0 :(得分:2)
以下内容将产生您在"期望结果"。
下所述的内容#!/bin/bash
i="$(date +%s)"
j="$(( i + 10 ))"
while [ $i -lt $j ]; do
fileName="$(cat /dev/urandom | env LC_CTYPE=C tr -cd 'a-f0-9' | head -c 32)"
date > "${fileName}.txt"
i="$(date +%s)"
done