我正在尝试编写一个脚本,该脚本每5次迭代在一个循环内创建一个新文件:
#!/bin/bash
counter=1
timestamp="$(($(date +%s%N)/1000000))"
fileName="file"$timestamp".txt"
echo $fileName
while [ $counter -le 5 ]
do
echo $counter
((counter++))
timestamp="$(($(date +%s%N)/1000000))"
echo $counter
if [ $counter == 5 ]
then
echo "Creating new file"
fileName="file"$timestamp".txt"
counter=1
echo "${timestamp}" >> $fileName
sleep 2s
echo $counter
done
该脚本返回错误:
file1561151901170.txt
ruunn.sh: line 20: syntax error near unexpected token `done'
ruunn.sh: line 20: `done'
如果我删除该if
子句:
#!/bin/bash
counter=1
timestamp="$(($(date +%s%N)/1000000))"
fileName="file"$timestamp".txt"
echo $fileName
while [ $counter -le 5 ]
do
echo $counter
((counter++))
timestamp="$(($(date +%s%N)/1000000))"
echo $counter
echo "${timestamp}" >> $fileName
sleep 2s
echo $counter
done
错误不会抛出,并且输出是预期的:
file1561152065603.txt
1
2
2
2
3
3
3
4
4
4
5
5
5
6
6
那么看来问题出在if
子句上吗?
如何修改我的脚本,使该if
子句包含在文件创建过程中?
您if
错过了结帐的时间fi
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句