, Когда я закомментирую это, скрипт завершится без выполнения последнего оператора печати (как и ожидалось)

нтересно. Я на CentOS 6.9, R-3.4.2. У меня есть код,tmp.R:

main<-function(){
    a = 9
    print(a) xyz
    print("Should never get here")
}

Когда я запускаю это,Rscript tmp.R, Я получил

Error: unexpected symbol in:
"    a = 9
    print(a) xyz"
No traceback available
[1] "Should never get here"
Error: unexpected '}' in "}"
No traceback available

Это довольно запутанно, потому что я никогдафактически&nbsp;называетсяmain(), На самом деле, если я уберу синтаксическую ошибку (3-я строка становитсяprint(a)), и я запускаю его, нет никакого вывода. Это ожидаемое поведение в моей голове.

ВОПРОС&nbsp;: Почему R выполняет код в скрипте, когда возникает синтаксическая ошибка, даже если код явно не вызывается (!)?

РЕДАКТИРОВАТЬ&nbsp;: Оказывается, такое поведение, по-видимому, связано сoptions(error=traceback)&nbsp;быть установленным в моем.Rprofile, Тем не менее, это нежелательное поведение. Тем не менее, было бы желательно иметь возможность получать трассировки в интерактивном режиме и не выполнять это странное выполнение кода в неинтерактивном режиме.