ISO dosyası oluşturmak için ngnix ile Lua komut dosyası kullanıyorum. Lua komut dosyası ayrıştırma isteği ve genisoimage
komutuna iletmelidir.Lua, bash betiği yürütmeyecek
local pack_cmd = "genisoimage -V" .. some_other_name
os.execute(pack_cmd)
Komut başarıyla yerine getirilmez ve dönüş kodu olarak ben 3328
olsun:
Birlikte denedim. Ben absoulte yolu (/usr/bin/genisoimage
ve /bin/genisoimage
) ile çalıştım ama çalışmıyor.
Basit geçici çözümü denedim - bu şekilde çalıştırmak bash komut iç genisoimage
bulunan komutun Lua komut:
local pack_cmd = "bash /absoulte/path/script.sh " .. some_other_name
os.execute(pack_cmd)
Hala devam ediyor ve aynı çıkış kodu almıyor. Ayrıca neyin yanlış olduğunu anlamaya çalıştım ama genisoimage
komutu hiç bir zaman yönetilmez. Ben elle herşey yolunda çalışır pack_cmd
dize yürütmek durumunda kulplu
local pack_cmd = "bash /absoulte/path/script.sh " .. some_other_name .." >> error.log"
os.execute(pack_cmd)
Versiyon yanı
local handle = io.popen(pack_cmd)
local result = handle:read("*a")
handle:close()
çalışmıyor. Bash betiği yürütmek de çalışıyor.
Strace, size neler olduğunu anlatıyor? –
... btw, dize birleştirme yoluyla kod oluşturma çok kötü bir uygulamadır (enjeksiyon güvenlik açıklarına yol açabilir). Bunun yerine lütfen açık bir argv dizisi kullanmayı düşünün. –
@CharlesDuffy Bu kadar hızlı yanıt için teşekkürler! Bunu 'www-data' kullanıcısı olarak yürütmek için izinlerim olmadığını öğrendim. Önerileriniz için teşekkürler. – sstevan