Zum Hauptinhalt springen

Beispielcode zur Befehlsausführung (os.execute)

os.execute hängt von der Shell ab; die Shell in einer iOS-Jailbreak-Umgebung kann Bash oder Zsh sein.
Die TrollStore-Version von XXTouch unterstützt os.execute nicht.
Es wird empfohlen, os.execute möglichst zu vermeiden.

Gerät neu starten

-- os.execute('reboot')
-- Empfohlener Ersatzaufruf
sys.reboot()

Respring (Neustart des SpringBoards)

-- os.execute('killall -9 SpringBoard;killall -9 backboardd')
-- Empfohlener Ersatzaufruf
sys.killall(9, 'SpringBoard', 'backboardd')

Symbolcache neu erstellen

-- os.execute('su mobile -c uicache')
-- Empfohlener Ersatzaufruf
clear.caches()
-- os.execute('ln -s /private/var/mobile/Media/1ferver/log/sys.log /private/var/mobile/Media/1ferver/lua/scripts/脚本日志.txt')
-- Empfohlener Ersatzaufruf
lfs.link('/private/var/mobile/Media/1ferver/log/sys.log', '/private/var/mobile/Media/1ferver/lua/scripts/脚本日志.txt', true)

Kapselungen für häufige Operationen

--[[
Die folgenden Kapselungen werden nicht mehr empfohlen. Verwende stattdessen die eingebauten Funktionen des XXTouch-file-Moduls.
--]]

local function sh_escape(path) -- Von XXTouch entwickelte Funktion; darf ohne Genehmigung von XXTouch kommerziell verwendet werden
path = string.gsub(path, "([ \\()<>'\"`#&*;?~$|])", "\\%1")
return path
end

function fdelete(path) -- Eine Datei oder ein Verzeichnis löschen (Unterelemente rekursiv löschen)
assert(type(path)=="string" and path~="", 'fremove 参数异常')
-- os.execute('rm -rf '..sh_escape(path))
-- Empfohlener Ersatzaufruf
file.remove(path)
end

function frename(from, to) -- Eine Datei oder ein Verzeichnis umbenennen (verschieben)
assert(type(from)=="string" and from~="", 'frename 参数 1 异常')
assert(type(to)=="string" and to~="", 'frename 参数 2 异常')
-- os.execute('mv -f '..sh_escape(from).." "..sh_escape(to))
-- Empfohlener Ersatzaufruf
file.move(from, to, 'mo')
end

function fcopy(from, to) -- Eine Datei oder ein Verzeichnis kopieren (Unterelemente rekursiv kopieren)
assert(type(from)=="string" and from~="", 'fcopy 参数 1 异常')
assert(type(to)=="string" and to~="", 'fcopy 参数 2 异常')
-- os.execute('cp -rf '..sh_escape(from).." "..sh_escape(to))
-- Empfohlener Ersatzaufruf
file.copy(from, to, 'mo')
end

function mkdir(path) -- Ein Verzeichnis erstellen (Unterverzeichnisse rekursiv erstellen)
assert(type(path)=="string" and path~="", 'mkdir 参数异常')
-- os.execute('mkdir -p '..sh_escape(path))
-- Empfohlener Ersatzaufruf
file.mkdir_p(path)
end

-- Die obigen Kapselungen können in den Anfang eines Skripts kopiert werden.
-- Die folgenden Aufrufbeispiele müssen nicht kopiert werden.

-- /var/mobile/1.png löschen
fdelete("/var/mobile/1.png")

-- /var/mobile/2.png in /var/mobile/1.png umbenennen
frename("/var/mobile/2.png", "/var/mobile/1.png")

-- /var/mobile/1.png nach /var/mobile/Media/1ferver/res/3.png verschieben
frename("/var/mobile/1.png", "/var/mobile/Media/1ferver/res/3.png")

-- /var/mobile/1.png nach /var/mobile/Media/1ferver/res/4.png kopieren
fcopy("/var/mobile/1.png", "/var/mobile/Media/1ferver/res/4.png")

-- Verzeichnis /var/mobile/1/2/3/4/ erstellen
mkdir("/var/mobile/1/2/3/4")