Я использую Rscript все больше и больше, где обычно использовал скрипты bash. Одно небольшое раздражение состоит в том, что многие из этих сценариев пересекаются с каким-то вызовом system()
, который практически не оставляет времени для R, чтобы поймать мой элемент управления-c, если я попытаюсь его прервать. Вместо этого он просто прерывает выполняемую системную команду и переходит к следующей итерации цикла. Например, когда я пытаюсь прервать следующее, удерживая control-c, он все равно пропускает все итерации:
for(i in 1:10) {
cat(i)
system('sleep 3')
}
До сих пор я всегда просто взламывал это, вставляя небольшую паузу в каждый цикл, например
for(i in 1:10) {
Sys.sleep(0.25)
cat(i)
system('sleep 3')
}
который позволит мне прервать внутри итерации или два, если я удерживаю control-c, но мне интересно, есть ли более эффективный способ выполнить это поведение?