Étape 2: Le Script
Codage, c’est comme un puzzle. Vous avez toutes les pièces - il vous suffit de les mettre ensemble. Il aider à dessiner un diagramme liste comment les choses devraient se passer. Ensuite, il est juste codage les blocs. Heureusement pour vous, les blocs ont été remplis et c’est juste une question de télécharger ou de copier/coller (n’oubliez pas de lui donner les autorisations d’exécution-lire ! Il va les supprimer). Mais voici mes blocs :1. demander un fichier MIDI à convertir.
2. demander où enregistrer le fichier converti.
3. Vérifiez si le répertoire est accessible en écriture.
4 a. dans l’affirmative, convertissez le fichier avec autorisations normales.
4 b. Si non, demander mot de passe utilisateur, puis convertir avec des autorisations de SUDO.
Il y a beaucoup de cas énoncés dans le code ; trois des quels tests si était appuie sur « Cancel ». Le reste est stable si SUDO autorisations sont nécessaires.
#! / bin/bash # Obtenir le nom de chemin/fichier MIDI # Faire enregistrer le nom de chemin/fichier # voir si l’utilisateur actuel dispose d’autorisations d’écriture en créant un fichier vide # Nous parler de que la conversion est effectuée # Sinon, obtenir le mot de passe root, exécutez une commande en tant que root # Faire la conversion et montrer une barre de progression # Nous parler de que la conversion est effectuée
mi = $(zenity--sélection de fichier)
Si [$? = 1] ;
puis la sortie
FI
WAV = $(zenity--sélection de fichier--enregistrer--confirmer-écraser)
Si [$? = 1] ;
puis la sortie
FI
> $wav
# dans l’affirmative, faire la conversion et voir la barre de progression
Si [$? -eq 0] ; puis
timidité « $mid »-Ow -o « $wav » | Zenity--cours--des pulsations--fermeture automatique--texte « Conversion... »
Zenity--info--texte « Conversion complète! »
d’autre
# Obtenir le mot de passe utilisateurs
passwd = $(zenity--password)
timidité -S « $mid » de passwd|sudo $ l’écho-Ow -o « $wav » | Zenity--cours--des pulsations--fermeture automatique--texte « Conversion... »
Si [$? = 1] ;
puis la sortie
FI
Zenity--info--texte « Conversion complète! »
fi