Exemples d’exécution de commandes (os.execute)
os.execute dépend du shell ; dans l’environnement iOS avec jailbreak, le shell peut être Bash ou Zsh.
La version TrollStore de XXTouch ne prend pas en charge os.execute.
Il est recommandé d’éviter autant que possible l’utilisation de os.execute.
Redémarrer l’appareil
-- os.execute('reboot')
-- Il est recommandé d’utiliser l’appel suivant à la place
sys.reboot()
respring (redémarrage de SpringBoard)
-- os.execute('killall -9 SpringBoard;killall -9 backboardd')
-- Il est recommandé d’utiliser l’appel suivant à la place
sys.killall(9, 'SpringBoard', 'backboardd')
Reconstruire le cache des icônes
-- os.execute('su mobile -c uicache')
-- Il est recommandé d’utiliser l’appel suivant à la place
clear.caches()
Créer un lien symbolique vers les journaux du script dans le répertoire du script
-- os.execute('ln -s /private/var/mobile/Media/1ferver/log/sys.log /private/var/mobile/Media/1ferver/lua/scripts/脚本日志.txt')
-- Il est recommandé d’utiliser l’appel suivant à la place
lfs.link('/private/var/mobile/Media/1ferver/log/sys.log', '/private/var/mobile/Media/1ferver/lua/scripts/脚本日志.txt', true)
Encapsulations d’opérations courantes
--[[
Les encapsulations ci-dessous ne sont plus recommandées ; utilisez plutôt les fonctions intégrées du module file de XXTouch
--]]
local function sh_escape(path) -- Fonction originale de XXTouch, utilisable à des fins commerciales sans autorisation de XXTouch
path = string.gsub(path, "([ \\()<>'\"`#&*;?~$|])", "\\%1")
return path
end
function fdelete(path) -- Supprimer un fichier ou un répertoire (y compris ses éléments enfants, récursivement)
assert(type(path)=="string" and path~="", 'fremove 参数异常')
-- os.execute('rm -rf '..sh_escape(path))
-- Il est recommandé d’utiliser l’appel suivant à la place
file.remove(path)
end
function frename(from, to) -- Renommer (déplacer) un fichier ou un répertoire
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))
-- Il est recommandé d’utiliser l’appel suivant à la place
file.move(from, to, 'mo')
end
function fcopy(from, to) -- Copier un fichier ou un répertoire (y compris ses éléments enfants, récursivement)
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))
-- Il est recommandé d’utiliser l’appel suivant à la place
file.copy(from, to, 'mo')
end
function mkdir(path) -- Créer un répertoire (et ses sous-répertoires, récursivement)
assert(type(path)=="string" and path~="", 'mkdir 参数异常')
-- os.execute('mkdir -p '..sh_escape(path))
-- Il est recommandé d’utiliser l’appel suivant à la place
file.mkdir_p(path)
end
-- Les fonctions encapsulées ci-dessus peuvent être copiées au début du script.
-- Les exemples d’appel ci-dessous n’ont pas besoin d’être copiés.
-- Supprimer /var/mobile/1.png
fdelete("/var/mobile/1.png")
-- Renommer /var/mobile/2.png en /var/mobile/1.png
frename("/var/mobile/2.png", "/var/mobile/1.png")
-- Déplacer /var/mobile/1.png vers /var/mobile/Media/1ferver/res/3.png
frename("/var/mobile/1.png", "/var/mobile/Media/1ferver/res/3.png")
-- Copier /var/mobile/1.png vers /var/mobile/Media/1ferver/res/4.png
fcopy("/var/mobile/1.png", "/var/mobile/Media/1ferver/res/4.png")
-- Créer le répertoire /var/mobile/1/2/3/4/
mkdir("/var/mobile/1/2/3/4")