Mover-se sobre shell-scripts: sh.py está aqui, e é incrível.

Video: Parameters Arguments Linux Shell Script Tutorial

Eu aposto que você não sabia que você poderia escrever shell scripts em Python.

Para qualquer programador ou administrador de sistemas, shell script é uma habilidade vital para dominar. Ele permite automatizar tarefas tediosas, transformando-os em ações consistentes e repetíveis. O problema é que ele pode ser um pouco assustador, especialmente quando você considera que a maioria dos dialetos shell-script falta a finesse sintática encontrados nos gostos de Python e Ruby.

Eu vou ser ainda mais direto. A maioria dos scripts shell são mais feio do que o pug média.

shpy-pug

Além disso, há uma variedade de conchas disponível para plataformas UNIX-like, incluindo Bash, CSH, KSH e (meu favorito) FISH. Como resultado, escrevendo consistentes, shell-scripts que funcionam em cada plataforma pode ser um desafio.

Tem que haver uma maneira melhor, certo?

Apresentando sh.py

Há sim. Quando não estou escrevendo para MakeUseOf, estou escrevendo código em Python por diversão e lucro. Eu realmente gosto de Python, devido à sua flexibilidade, a sua beleza inerente e como ela determina a escrita de código bom pelo design. Se isso soa bem para você, mas você ainda não conhece essa linguagem incrível, por que não verificar esses cinco grandes sites para aprender programação Python?Os 5 melhores sites para aprender Python ProgrammingOs 5 melhores sites para aprender Python ProgrammingDurante a última década, a linguagem de programação Python tem explodiu em popularidade entre os programadores em todas as áreas de codificação. De desenvolvedores web para o vídeo game designers para os criadores de ferramentas em casa, muitas pessoas caíram em ...consulte Mais informação

Me deparei com esta biblioteca realmente incrível alguns meses atrás chamado sh.py, que permite que você chame programas, passar parâmetros e lidar com as saídas, tudo dentro dos limites de um programa Python.

Então o que isso quer dizer? Simplificando, isso significa que você tem a funcionalidade completa de shell scripts, mas a partir de uma linguagem que é fácil de ler, é de natureza modular e suporta programação orientada a objeto. Legal certo?

Então, como podemos usá-lo?

Eu estou fazendo algumas suposições sobre você. A primeira é que você está rodando Linux, OS X ou FreeBSD. Como é agora, sh.py não funciona no Windows. No entanto, se for necessário, você sempre pode instalar uma máquina virtual Linux. O meu colega Justin Pot escreveu um artigo muito útil sobre esta, que você pode conferir aqui .Como usar VirtualBoxes free testar & Run Open Source Sistemas operacionais [Linux]Como usar VirtualBoxes free testar & Run Open Source Sistemas operacionais [Linux]tente rapidamente uma ampla variedade de sistemas operacionais de código aberto, alguns que você está familiarizado com e alguns que não são. Você pode começar a navegar agora em Virtualboxes, um site que leva quase todo o trabalho ...consulte Mais informação

Video: 06 - Shell Script com Interface Gráfica

O segundo pressuposto que eu estou fazendo é que você está executando uma versão recente do Python (seja 2.7 ou 3.2) e você tem o gerenciador de pacotes PIP instalado. Se este não for o caso, ter um olhar para a documentação oficial do Python.

Tudo bom? Então vamos continuar.

Vamos começar a codificar

Em um terminal, instalar sh.py com o seguinte comando.

sudo pip instalar sh

A razão pela qual nós estamos usando ‘sudo` aqui é porque precisamos elevar nossas permissões para adicionar novos pacotes Python. Se sh.py instalado corretamente, você verá as seguintes linhas presentes em seu terminal.

Download / descompactação shDownloading sh-1.09.tar.gzRunning egg_info setup.py para embalagens recolhidas pacote shInstalling: shRunning setup.py install para shSuccessfully instalado shCleaning-se ...

Se ele não diz isso, as chances são boas de que a instalação falhou. Triste. Se for esse o caso, tente verificar as suas permissões e que você realmente instalado PIP. Se ele ainda não estiver lá, tente perguntar sobre estouro de pilha (que foi previamente discutido por nosso editor de Internet, Saikat Basu) ou Respostas MakeUseOf.10 sites que podem ajudar o novato programador com a amostra de trechos de código10 sites que podem ajudar o novato programador com a amostra de trechos de códigoconsulte Mais informação

Agora que está classificado, criar um novo diretório. É aqui onde nós vamos colocar todo o nosso código. Abra um editor de texto e crie um arquivo chamado ‘shtest.py`. Aqui, nós vamos simplesmente criar um novo arquivo, e em seguida, listar o conteúdo do diretório em que estamos. Parece bom?

Em shtest.py, adicione as seguintes linhas.

Video: Curso programacion bash shell script linux #9. Paso de parámetros

shpy-shtest

#! Sh PythonImport / usr / bin / env
sh.touch ( `Olá`) print (sh.ls ( ‘- l `))


coisas simples aqui. Vamos decompô-lo.

#! / Usr / bin / env python

Esta linha é chamada de hash-bang, e instrui o shell para abrir este arquivo como um programa Python. Isso permite que você abri-lo como se fosse um script shell (./shtest.py), em vez de abri-lo diretamente com o Python (python shtest.py). Legal certo?

sh importação

Esta linha importa a biblioteca sh que eu instalei alguns momentos atrás. Não podemos continuar sem isso, então certifique-se que está em seu código!

sh.touch ( `Olá`)

Você pode estar familiarizado com o comando Linux, ‘toque`. Isso cria um arquivo vazio com nome de arquivo que você especificar. Aqui, nós estamos chamando diretamente ‘toque` de dentro Python. Como você pode ver, temos prefaciado isso com ‘sh. `, E nós estamos passando um parâmetro de‘Olá`.

impressão (sh.ls ( ‘- L `))

Você pode estar familiarizado com o comando ‘print`, que envia texto para o console. Aqui, nós estamos passando TI dos sh.ls` como um parâmetro. Isto chama o programa Linux ls, que lista o conteúdo de um diretório. Também estamos de passagem, que um parâmetro de ‘l`, que imprime informações mais detalhadas sobre o conteúdo do diretório que executar isso em.

Funciona? Veja por si mesmo.

shpy-shtest-works

Aqueles de vocês com Falcão-olhos vai notar que há um outro arquivo flutuando nesse diretório chamado ‘gitsh.py`. O que poderia estar lá?

Comandos sub

sh.py tem alguns ganchos para programas populares já cozidos. Estes incluem git, sudo e um número significativo de utilitários Linux. Estes fazem interagir com esses serviços de dentro Python ainda mais fácil.

Quão fácil? Bem, eu vou mostrar para você como inicializar um repositório Git vazia em apenas três linhas de código. Primeiro, crie um arquivo chamado ‘gitsh.py` e abri-lo em seu editor de texto favorito.

No interior, escrever as seguintes três linhas.

Video: [Shell Script] Iniciando a Programação em Bash | AULA SHELL SCRIPT #1

shpy-gitsh#! / Usr / bin / env pythonfrom sh importação gitprint (git.init ())

A maior parte deste deve ser bastante familiar para você. Você notará que nós importamos ‘git` de‘sh`. Isto apenas significa que temos importado uma parte específica da funcionalidade de um módulo, enquanto ignorando tudo o resto.

Depois disso, nós inicializar nosso repositório.

print (git.init ())

Nós conversamos sobre impressão. Você deve perceber que nós estamos chamando de ‘git` sem’ sh` procedendo-lo. Isto é porque nós especificamente importados a funcionalidade git da biblioteca ‘sh`.

shpy-gitsh-works

E é sobre isso. Quando executamos gitsh.py, devemos ver as seguintes linhas aparecem no seu terminal.

Conclusão

Essa foi uma introdução razoavelmente fácil de sh.py. Se você está ansioso para saber mais sobre isso, confira a documentação oficial aqui. No entanto, se você ficar preso, fique à vontade para me deixar cair um comentário abaixo e eu vou tentar ajudá-lo.


Artigos relacionados