Size: a a a

2020 March 13

AZ

Aydar Zarifullin in pro.lua
Snusmumriken
В целом, os.execute обычно возвращает одно значение (0 или 1). Ковырни io.popen, оно надёжнее.
Я малость не догоняю как тут popen заюзать ведь программа которую я стартую возвращает только exit code...
источник

АК

Александр Караев in pro.lua
Aydar Zarifullin
Я малость не догоняю как тут popen заюзать ведь программа которую я стартую возвращает только exit code...
popen нужен для перехвата stdout
источник

AZ

Aydar Zarifullin in pro.lua
Александр Караев
popen нужен для перехвата stdout
Так нет вывода же...
источник

VV

V V in pro.lua
local script = [[...]]
local pipe = io.popen("...", "w") pipe:write(script) pipe:close()
источник

VV

V V in pro.lua
os.execute(... ) вообще при этом не используете.
источник

VV

V V in pro.lua
В io.popen - утилита, которую хотите запустить.
В script - тексты и аргументы.
источник

VV

V V in pro.lua
Вместо "..."
источник

AZ

Aydar Zarifullin in pro.lua
V V
В io.popen - утилита, которую хотите запустить.
В script - тексты и аргументы.
Что написать надо ясно и без примера. Как код возврата получить?
источник

VV

V V in pro.lua
Если вам что-то возвращается, сделайте перед pipe:close() - pipe:read()
источник

VV

V V in pro.lua
Если не поддерживается вывод в тот же pipe, связывает пару - один на запись, второй на чтение.
источник

T

The Dormouse in pro.lua
Aydar Zarifullin
Что написать надо ясно и без примера. Как код возврата получить?
Напиши скрипт, который берёт код возврата и возвращает его в stdout. :-)
источник

VV

V V in pro.lua
The Dormouse
Напиши скрипт, который берёт код возврата и возвращает его в stdout. :-)
Откуда берет? В оригинале os.execute использовался.
источник

T

The Dormouse in pro.lua
https://stackoverflow.com/questions/7607384/getting-return-status-and-program-output
Тут говорят, close должен что-то возвращать.
источник

AZ

Aydar Zarifullin in pro.lua
Ладно, надо чекнуть
источник

T

The Dormouse in pro.lua
V V
Откуда берет? В оригинале os.execute использовался.
Человеку нужно получить код возврата? Можно костылём с промежуточным скриптом.
источник

AZ

Aydar Zarifullin in pro.lua
The Dormouse
Человеку нужно получить код возврата? Можно костылём с промежуточным скриптом.
В жите popen не возвращает exit code.
источник

T

The Dormouse in pro.lua
io.popen("bash -c 'your_command; echo $?'", "r")
источник

AZ

Aydar Zarifullin in pro.lua
The Dormouse
io.popen("bash -c 'your_command; echo $?'", "r")
Если уж костылить то луашно. Как вариант написать функцию которая проверяет если exit code больше или равно 256 тогда делим код на 256
источник

VV

V V in pro.lua
Aydar Zarifullin
Если уж костылить то луашно. Как вариант написать функцию которая проверяет если exit code больше или равно 256 тогда делим код на 256
"return x%256"?
источник

VM

Vadim Misbakh-Soloviov in pro.lua
exit-code не может быть равен 256
источник