Ответ 1
Команда watch - хороший вариант. Если вам нужно больше контроля, вы можете использовать цикл while:
while [ 1 ]
do
cp source dest
sleep 5s
done
Я хочу скопировать файл из одного места в другое каждые пять секунд. Я не хочу настраивать cronjob, потому что это только временное и должно быть полностью под моим контролем.
Могу ли я написать .sh, который это сделает?
(Im на Mac OS X.)
Команда watch - хороший вариант. Если вам нужно больше контроля, вы можете использовать цикл while:
while [ 1 ]
do
cp source dest
sleep 5s
done
while true
do
cp file /other/location
sleep 5
done
Вам даже не нужно писать script для этого, просто введите while true; do cp file /other/location; sleep 5; done
в приглашении bash.
Возможно смотреть:
watch -n 5 date
Используйте команду watch
.
не уверен, что это сработает, но вы можете попробовать его, в основном это бесконечный цикл, поэтому вам придется вручную завершать script или добавлять фильтр, например, в ключ q, когда нажаты наборы copyFiles на 0
copyFile = 1
while [ ${copyFile} -eq 1 ]
do
echo "Copying file..."
cp file /other/location
echo "File copied. Press q to quit."
read response
[ "$response" = "q" ] && copyFile = 0
sleep 5
done