Акции: заклинание BASH для опроса Yahoo! в торговые часы

Это моя текущая команда для опроса Yahoo! каждые две минуты для различных цен на акции и прикрепляйте их к корневому окну моего старого PowerBook с помощью панели настроек GeekTool... Например, Apple:

echo 'AAPL: '; curl -s 'http://download.finance.yahoo.com.d/quotes.csv?s=aapl&f=l1' > .aapl.stock.txt; cat .aapl.stock.txt

Я хотел бы спросить у знатоков UNIX, как опрашивать только Yahoo! с 9:30 до 16:00.

После торговых часов каждые две минуты я прошу этих бедных Yahoo! компьютеры по стоимости, которая никогда не меняется! Помощь!


person CT Hildreth    schedule 30.04.2014    source источник


Ответы (1)


Вы можете выйти или иным образом остановить выполнение за пределами целевого интервала:

# Get current hours and minutes.
h=$(date +%H) m=$(date +%m)

# If it's less than 9:30, exit
[[ $h -lt 9 || $h -eq 9 && $m -le 30 ]] && exit 1

# If it's after 4, exit
[[ $h -ge 16 ]] && exit 1

yourcommand
person that other guy    schedule 01.05.2014
comment
Спасибо за ваш ответ, который, очевидно, потребовал много действий с клавишей Shift. Мне нужно поставить точку с запятой между последним «выходом 1» и моей «вашей командой», верно? Без точки с запятой я получаю сообщение об ошибке system.log «-eq: команда не найдена» - person CT Hildreth; 01.05.2014
comment
Он отлично работает, пока работает с bash. Если ваш инструмент требует, чтобы все это помещалось в одну строку, я рекомендую вместо этого создать скрипт-оболочку. - person that other guy; 01.05.2014
comment
Я вернулся к этой проблеме и понял, что под сценарием-оболочкой вы просто имели в виду сценарий оболочки. Проблема решена. - person CT Hildreth; 17.06.2014