Я попытался запустить скрипт во вновь открытой zsh-сессии, которая была
$ perl -e "for (1 .. 80000000) { print qq#$_\n# }"
Итак, мне нужно было некоторое время, чтобы набрать его, потом потребовалось некоторое время и ничего не делать, и через несколько секунд (около 5-10 секунд) он напечатал тысячи ...
/etc/motd
/etc/motd
/etc/motd
/etc/motd
/etc/motd
/etc/motd
/etc/motd
/etc/motd
...
Мне было интересно, почему это произошло, и я подумал, что я могу запустить его снова, но с меньшим числом, чтобы перейти к:
$ perl -e "for (1 .. 80) { print qq#$_\n# }"
Я получил это сообщение тогда:
Backslash found where operator expected at -e line 1, near "motd\"
syntax error at -e line 1, near "motd\"
Missing right curly or square bracket at -e line 1, at end of line
Execution of -e aborted due to compilation errors.
Затем я попытался запустить его снова, и сообщение об ошибке стало:
syntax error at -e line 1, near ") {"
Missing right curly or square bracket at -e line 1, at end of line
Execution of -e aborted due to compilation errors.
и иногда:
Having no space between pattern and following word is deprecated at -e line 1.
Backslash found where operator expected at -e line 1, near "td\"
syntax error at -e line 1, near ") {"
Missing right curly or square bracket at -e line 1, at end of line
Execution of -e aborted due to compilation errors.
хотя сам код не изменился.
Я думал, что это как-то связано с /etc /motd в моем .zshrc или чем-то вроде того, что "он загружал его прямо сейчас", но это имело бы смысл, только если оно не появилось через несколько минут после открытия оболочки.
Кроме того, это странное поведение появляется каждый раз, когда я открываю новую вкладку в "Konsole" (с zsh 4.3.17 и perl 5.14.2).
Интересно, что когда я пытался выяснить мою perl-версию с
perl -v
и я снова запустил скрипт, он дал мне:
-v
-v
-v
-v
-v
-v
...
а потом снова ошибки. эхо $ _ с konsole дает мне:
$ echo $_
for (1 .. 80000000) { print qq#for (1 .. 80000000) { print qq#for (1 .. 80000000) { print qq#-v
# }
# }
# }
Я просто не могу понять, что там происходит. Итак, вопрос: что там происходит?