루프에서 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
이 절이 파일 생성 프로세스에 포함될 수 있도록 스크립트를 어떻게 수정합니까 ?
답변1
당신은 if
그것의 끝을 놓쳤습니다 fi
.