2016-02-29 3 views
1

Я разрабатываю оболочку вокруг некоторых сценариев на стороне сервера LiveCode. Есть ли способ выйти из сценария LiveCode и указать код выхода? Прямо сейчас, даже непроверяемому коду присваивается код выхода 0. Я ищу что-то вроде структуры управления exit to top, которая позволит мне пройти 0-255.Как я могу указать код выхода LiveCode?

Вот особенно болезненный пример

$ cat test.lc 
> #!/usr/bin/env livecode-community-server 
    lakjreakl j3lkj4?KJ !$()U* @$)LFKDJ SKLmvnkl 32498*$# 
    lkfj KJ# >J$? !*!$ kljflkjuia o1238 

$ ./test.lc 
> file "/home/ian/test.lc" 
    row 2, col 11: Expression: bad factor (!) 
    row 2, col 1: param: bad expression 
    row 2, col 11: Commands: bad parameter (!) 
    row 2, col 11: Commands: bad parameters (!) 
    row 2, col 11: script: bad command (!) 

$ echo $? 
> 0 

ответ

2

Вы ищете quit command и его еще недокументированный параметр кода выхода, который по умолчанию равен 0!

quit 1 
+0

спасибо. Просто отправил билет поддержки в Livecode, попросив его записать это. Это беспокоило меня довольно долгое время. –

+0

Хорошая работа, возможно, стоит посмотреть, что они думают о выходе сервера lc с ненулевым кодом выхода, если была ошибка выполнения –

1

Вы могли бы попробовать «вернуть» заявление. Он выходит из текущего обработчика, и все последующее отправляется обработчику вызова. Я не пробовал это на сервере, но я думаю, что это может пойти на stdout, если нет обработчика вызова: return «104»

«положить» без адресата всегда идет в стандартный вывод, так что вы можете поочередно использовать " положил 104 ", после чего последовал« выход в верх ».

Смежные вопросы