Il ne s'agit pas d'un remplacement immédiat et il n'est pas directement compatible avec bash/zenity, mais si vous êtes d'accord avec une solution Mac native OOTB non portable et sans dépendances supplémentaires, considérez AppleScript (ou, à partir de Yosemite, Javascript JXA).
Voici un scénario typique d'un AppleScript qui construit une boîte de dialogue à partir de la sortie d'une commande shell ( emulator -list-avds
qui répertorie les images des émulateurs Android), puis exécute une autre commande en fonction de l'élément sélectionné ( emulator -avd <image_name>
qui lance l'image de l'émulateur sélectionné) :
set avds to paragraphs of (do shell script "~/Library/Android/sdk/emulator/emulator -list-avds")
set avd to (choose from list avds with prompt "Please select an AVD to start" default items "None" OK button name {"Start"} cancel button name {"Cancel"})
do shell script "~/Library/Android/sdk/emulator/emulator -avd " & avd & " -no-boot-anim > /dev/null 2>&1 &"
Vous pouvez exécuter le script à partir de l'ootb Script Editor.app
ou de Automator.app
. Les deux applications permettent également d'enregistrer un script en tant que paquet d'applications natives MacOS.
Pour exécuter le script ci-dessus à partir d'un script bash, vous pourriez utiliser :
osascript -e '
set avds to paragraphs of (do shell script "~/Library/Android/sdk/emulator/emulator -list-avds")
set avd to (choose from list avds with prompt "Please select an AVD to start" default items "None" OK button name {"Start"} cancel button name {"Cancel"})
do shell script "~/Library/Android/sdk/emulator/emulator -avd " & avd & " -no-boot-anim > /dev/null 2>&1 &"
'
Assurez-vous d'inclure le guillemet simple sur la dernière ligne.
Résultat :
Référence
Pour des exemples de code AppleScript, consultez les scripts préinstallés fournis par Apple à l'adresse :
/Library/Scripts
Pour voir la documentation de l'API intégrée pour AppleScript/Javascript(JSX), lancez Script Editor.app
, choisir Fichier > Dictionnaire ouvert puis sélectionnez StandardAdditions.osax
dans le menu déroulant.
Utilisation de Javascript au lieu d'AppleScript
Depuis Yosemite, au lieu d'AppleScript, vous pouvez également utiliser Javascript (JXA).
Tutoriels et exemples d'utilisation de Javascript JXA
Enregistrement en tant qu'application MacOS
Desde el Script Editor.app
vous pouvez également convertir votre script (applescript ou javascript) en une application native MacOS en sélectionnant Fichier > Exportation > Format de fichier : Application afin que vous puissiez exécuter le script comme une application mac normale.