У мене є сценарій, який я намагаюся перенести з Linux на Darwin / OS X. Версія Linux в даний час залежить від watch
команди, яка, здається, не встановлена на Darwin / OS X за замовчуванням. Яка рідна альтернатива?
У мене є сценарій, який я намагаюся перенести з Linux на Darwin / OS X. Версія Linux в даний час залежить від watch
команди, яка, здається, не встановлена на Darwin / OS X за замовчуванням. Яка рідна альтернатива?
Відповіді:
Немає рідної альтернативи. Ви повинні придбати, watch
використовуючи Homebrew ( brew install watch
) або MacPorts ( port install watch
), якщо вам потрібен фактичний виконуваний файл.
Однак ви можете імітувати функцію watch
. Це можна виконати в стандартному баш-ланцюговому циклі ( від Stack Overflow від Daniel Pittman ):
Ви можете імітувати основну функціональність за допомогою петлі оболонки:
while :; do clear; your_command; sleep 2; done
Це назавжди замкнеться, очистить екран, запустить вашу команду та зачекає дві секунди - основний перегляд виконання вашої_команди.
Ви можете зробити цей крок далі і створити скрипт watch.sh, який може приймати ваш параметр_команду та сон_дурації як параметри:
#!/bin/bash # usage: watch.sh <your_command> <sleep_duration> while :; do clear date $1 sleep $2 done