Проблема генерации меток времени в цикле в Bash - PullRequest
0 голосов
/ 13 февраля 2019

Когда я запускаю команду:

timestamp=$(date+"%s") ; echo "$timestamp"

ошибка отсутствует.

Однако, когда я пытаюсь запустить ее в цикле, как:

while [  $COUNTER -lt 10 ]; do  ts=$(date+"%s") ; echo "$ts" ; let COUNTER=COUNTER+1 ;  done  

Ошибка «-bash: date +% s: команда не найдена».Почему?

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Вы должны добавить пробел между командой date и требуемым форматом, поскольку синтаксис даты в linux man страница описывается как:

date [option] [+Format]

Решение для вашего кода:

while [  $COUNTER -lt 10 ]; do  ts=$(date +"%s") ; echo "$ts" ; let COUNTER=COUNTER+1 ;  done  
0 голосов
/ 13 февраля 2019
while [  $COUNTER -lt 10 ]; do  ts=$(date +"%s") ; echo "$ts" ; let COUNTER=COUNTER+1 ;  done

вам нужно написать это с пробелом $(date +"%s")

...