Se déplacer sur des scripts shell: sh.py est ici, et il est génial.

Je parie que vous ne saviez pas que vous pouvez écrire des scripts shell en Python.

Pour tout programmeur ou administrateur système, scripts shell est une compétence essentielle à maîtriser. Il vous permet d`automatiser les tâches fastidieuses, les transformer en actions cohérentes et reproductibles. Le problème est qu`il peut être un peu intimidant, surtout quand on considère que la plupart des dialectes scripts shell manquent de finesse dans les syntactique trouvé goûts de Python et Ruby.

Je serai encore plus direct. La plupart des scripts shell sont plus laid que le carlin moyenne.

shpy-carlin

De plus, il y a une variété de coquillages disponibles pour les plates-formes de type UNIX, y compris Bash, HCS, KSH et (mon préféré) FISH. En conséquence, l`écriture cohérente, scripts shell qui fonctionnent sur chaque plate-forme peut être difficile.

Il doit y avoir une meilleure façon, non?

Présentation sh.py

Il y a. Quand je ne suis pas écrit pour MakeUseOf, je suis un code écrit en Python pour le plaisir et le profit. J`aime vraiment Python en raison de sa flexibilité, sa beauté intrinsèque et la façon dont il donne mandat à la rédaction du code de bonne conception. Si ça sonne bien pour vous, mais vous ne savez pas déjà cette langue impressionnante, pourquoi ne pas consulter ces cinq grands sites pour apprendre la programmation Python?Les 5 meilleurs sites Web pour apprendre la programmation PythonLes 5 meilleurs sites Web pour apprendre la programmation PythonAu cours de la dernière décennie, le langage de programmation Python a explosé en popularité parmi les programmeurs dans tous les domaines de codage. De développeurs web pour les concepteurs de jeux vidéo pour les créateurs d`outils en interne, beaucoup de gens sont tombés ...Lire la suite

Je suis tombé sur cette bibliothèque vraiment génial quelques mois en arrière appelé sh.py, ce qui vous permet d`appeler des programmes, passer des paramètres et des sorties à gérer, le tout dans les limites d`un programme Python.

Qu`est-ce que cela signifie? En termes simples, cela signifie que vous avez toutes les fonctionnalités de scripts shell, mais à partir d`une langue qui est facile à lire, est modulaire et prend en charge la programmation orientée objet. Cool, non?

Alors, comment pouvons-nous l`utiliser?

Je fais quelques hypothèses sur vous. La première est que vous utilisez Linux, OS X ou FreeBSD. Comme il est en ce moment, sh.py ne fonctionne pas sous Windows. Cependant, le cas échéant, vous pouvez toujours installer une machine virtuelle Linux. Mon collègue Justin Pot a écrit un article très utile à ce sujet, qui vous pouvez consulter ici .Comment faire pour utiliser VirtualBoxes images gratuites Pour tester & Run Open Source Systèmes d`exploitation [Linux]Comment faire pour utiliser VirtualBoxes images gratuites Pour tester & Run Open Source Systèmes d`exploitation [Linux]essayer rapidement une grande variété de systèmes d`exploitation open source, certains que vous connaissez et certains d`entre vous ne sont pas. Vous pouvez commencer à naviguer maintenant Virtualboxes, un site Web qui prend presque tout le travail sur ...Lire la suite

Video: Initiation commande de base linux - scripts bash débutant (Darija) Maroc

La deuxième hypothèse que je fais est que vous exécutez une version récente de Python (soit 2.7 ou 3.2) et vous avez le gestionnaire de paquets PIP installé. Si ce n`est pas le cas, consultez la documentation de Python officiel.

Tout bon? Ensuite, nous allons continuer.

Commençons à coder

Dans un terminal, installez sh.py avec la commande suivante.

sudo pip install sh

La raison pour laquelle nous utilisons Sudo est ici parce que nous devons élever nos autorisations pour ajouter de nouveaux paquets Python. Si sh.py installe correctement, vous verrez les lignes suivantes présentes dans votre terminal.

Téléchargement / déballage shDownloading sh-1.09.tar.gzRunning setup.py egg_info pour les paquets collectés de shInstalling paquet: shRunning setup.py install pour shSuccessfully installé shCleaning up ...

Si elle ne le dit pas, les chances sont bonnes que votre installation a échoué. Triste. Si tel est le cas, essayez de vérifier vos autorisations et que vous avez réellement installé PIP. Si elle est toujours pas là, essayez de demander à débordement de la pile (qui a déjà été discuté par notre éditeur Internet, Saikat Basu) ou Réponses MakeUseOf.10 sites Web qui peuvent aider le programmeur débutant avec des exemples de code Snippets10 sites Web qui peuvent aider le programmeur débutant avec des exemples de code SnippetsLire la suite

Maintenant, qui est triée, créez un nouveau répertoire. Il est là où nous allons placer tout notre code. Ouvrez un éditeur de texte et de créer un fichier appelé « shtest.py ». Ici, nous allons simplement créer un nouveau fichier, et la liste alors le contenu du répertoire que nous sommes dans. Ça sonne bien?

Dans shtest.py, ajoutez les lignes suivantes.

shpy-shtest

#! / Usr / bin / env pythonimport sh
sh.touch ( `bonjour`) print (sh.ls ( « - l `))

choses simples ici. Brisons cette baisse.

#! / Usr / bin / env python

Cette ligne est appelée bang de hachage, et charge votre shell pour ouvrir ce fichier comme un programme Python. Cela vous permet d`ouvrir comme vous le feriez un script shell (./shtest.py), au lieu d`ouvrir directement avec Python (shtest.py python). Cool, non?

importation sh

Cette ligne importe la bibliothèque sh qui nous avons installé il y a quelques instants. Nous ne pouvons pas continuer sans cela, alors assurez-vous qu`il est dans votre code!

sh.touch ( `bonjour`)

Vous connaissez peut-être avec la commande Linux, « toucher ». Cela crée un fichier vide avec le nom de fichier que vous spécifiez. Ici, nous appelons directement « toucher » à l`intérieur Python. Comme vous pouvez le voir, nous avons préfacé cela avec « sh.», Et nous faisant passer un paramètre de « bonjour ».

(impression sh.ls ( « - l `))

Vous connaissez peut-être la commande « impression », qui sort du texte à la console. Ici, nous transmettons « il sh.ls` en tant que paramètre. Cela appelle le programme de Linux, qui répertorie le contenu d`un répertoire. Nous vous transmettons également qu`un paramètre de « -l », qui affiche des informations plus détaillées sur le contenu du répertoire que nous exécutons ceci dans.

Video: HakTip - Bash Basics: Turn Long Commands into Scripts

Est-ce que ça marche? Voir par vous-même.

shpy-shtest usine

Video: Shell Scripting Tutorial-13: Cut Through Your Files

Ceux d`entre vous avec épervier yeux remarquerez qu`il ya un autre fichier flottaient dans ce répertoire appelé « gitsh.py ». Ce qui pourrait peut-être là-dedans?

sous commandes

sh.py a quelques crochets pour les programmes populaires déjà cuits au four à. Ceux-ci comprennent git, et un nombre sudo important d`utilitaires Linux. Ceux-ci font interagir avec ces services de l`intérieur Python encore plus facile.

Comment facile? Eh bien, je vais vous montrer comment initialiser un dépôt Git vide en trois lignes de code. Tout d`abord, créez un fichier appelé « gitsh.py » et l`ouvrir dans votre éditeur de texte favori.

A l`intérieur, écrire les trois lignes suivantes.

shpy-gitsh#! / Usr / bin / env gitprint import pythonfrom sh (git.init ())

La plupart de ce qui devrait être assez familier. Vous remarquerez que nous avons importé « git » de « sh ». Cela signifie simplement que nous avons importé un morceau spécifique de la fonctionnalité d`un module, tout en ignorant tout le reste.

Après cela, nous initialisons notre dépôt.

impression (git.init ())

Nous avons parlé de l`impression. Vous remarquerez que nous appelons « git » sans » .sh `il procéder. En effet, nous avons importé plus précisément la fonctionnalité git de la bibliothèque « sh ».

Video: Lnux Scripts Shell

shpy-gitsh usine

Et c`est à ce sujet. Quand nous courons gitsh.py, nous devrions voir apparaître les lignes suivantes dans votre terminal.

Conclusion

Ce fut une introduction assez facile à sh.py. Si vous êtes désireux d`en savoir plus à ce sujet, consultez la documentation officielle ici. Cependant, si vous êtes coincé, ne hésitez pas à me laisser un commentaire ci-dessous et je vais essayer de vous aider.

Articles connexes