Este documento apresenta uma atividade sobre Shell Script para um curso de Informática - Programação. A atividade solicita que o aluno responda perguntas sobre o que é Shell Script, suas vantagens e os passos para criação e execução de um script. Também pede que o aluno desenvolva scripts Shell para realizar pequenas tarefas como soma de números, verificar se um número é par ou ímpar, entre outras.
Este documento fornece uma introdução aos frameworks web com Python, discutindo conceitos como MVC, templates, ORM e frameworks como Django. Explica como frameworks abstraem detalhes complexos e facilitam o desenvolvimento web.
Este documento apresenta uma introdução ao shell script em 3 partes:
1. Ensina como criar um primeiro script simples que executa 3 comandos e melhorá-lo para fornecer saída mais clara e interação com o usuário.
2. Discutem conceitos importantes como variáveis, comandos e testes para aprimorar scripts.
3. Fornece exemplos de scripts mais avançados usando parâmetros, expressões aritméticas, if/for/while e exercícios para praticar.
Este documento apresenta uma apostila sobre desenvolvimento de sistemas de informação avançados usando ASP.NET. Aborda conceitos sobre desenvolvimento ASP.NET, sistemas de autenticação, acesso a banco de dados, desenvolvimento em camadas, webservices, internacionalização e relatórios.
Este documento apresenta um resumo de uma apostila sobre desenvolvimento de sistemas de informação avançados usando ASP.NET. A apostila aborda conceitos sobre desenvolvimento ASP.NET, autenticação, acesso a banco de dados, desenvolvimento em camadas, webservices, internacionalização e relatórios. Além disso, fornece links para download do Visual Studio e vídeo-aulas sobre desenvolvimento web com ASP.NET.
O documento discute técnicas de engenharia reversa no Linux, incluindo o que é engenharia reversa, formatos de arquivos binários como ELF, ferramentas como strings, readelf e objdump, empacotadores como UPX, e debugando com gdb.
O documento introduz o Docker, explicando como ele permite entregar software de forma fácil e consistente através de contêineres leves que isolam as aplicações e serviços. O Docker facilita a criação de ambientes idênticos entre desenvolvimento e produção e permite escalar aplicações com agilidade e controle.
Este documento discute administração de sistemas em sistemas operacionais avançados. Ele aborda administração de usuários usando comandos como useradd e passwd, scripts de shell para automatizar tarefas, e o uso do cron para agendar tarefas para execução repetida.
O documento fornece uma introdução ao .NET Framework, descrevendo seu objetivo de fornecer um ambiente de programação orientado a objetos e consistente. Ele também descreve algumas das classes mais importantes do .NET Framework, incluindo Console, Math, Random e Environment.
Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilli...Tchelinux
Este documento fornece uma introdução sobre como começar a desenvolver o kernel Linux, incluindo onde encontrar o código fonte, como compilá-lo e carregá-lo, ferramentas de depuração, e como enviar patches. É destacado que o kernel Linux usa um design monolítico e roda em um único processo, apesar de implementar recursos de microkernel como módulos carregáveis dinamicamente. O documento também explica brevemente a estrutura de diretórios e estilos de codificação do kernel.
O documento descreve as funcionalidades e aplicações da linguagem de programação Shell. O Shell permite automatizar tarefas, conectar comandos e manipular fluxos de dados. Ele pode duplicar ou triplicar a produtividade ao automatizar processos recorrentes.
Apostila Treinamento AvançAdo Em Linuxguest7a481e8
O documento fornece um guia de treinamento avançado em Linux com 40 horas de duração. O treinamento irá cobrir tópicos como shell script, ferramentas de rede, compactadores de arquivos, configuração de servidores e segurança em Linux. A versão 1.5 do guia inclui atualizações e correções de erros na versão anterior.
O documento apresenta um curso avançado de treinamento em Linux com 40 horas de duração, ministrado pela Firewalls Security Corporation. O curso aborda tópicos como shell script, ferramentas de rede, compactadores de arquivos, configuração de servidores e segurança, entre outros. A versão 1.5 do curso inclui novas seções sobre NFS, SAMBA e segurança, além de correções em conteúdos anteriores.
O documento apresenta um curso avançado de treinamento em Linux com 40 horas de duração, ministrado pela Firewalls Security Corporation. O curso aborda tópicos como shell script, ferramentas de rede, compactadores de arquivos, agendamento de tarefas, configuração de servidores e segurança. Foi atualizado para a versão 1.5 com correções e novas seções sobre NFS, SAMBA e segurança.
A versão final (RTM) do novo framework .NET Core 1.0 foi lançada em 27 de junho de 2016. Veja os recursos do .NET Core 1.0 para desenvolver aplicações web com ASP.NET Core, aplicações Console e aplicações para Universal Windows Platform (UWP). Desenvolva no seu sistema operacional predileto: Windows, Mac OS X ou Linux. E veja qual a relação existe entre o novo framework .NET Core multiplataforma e o .NET Framework tradicional para Windows.
A versão final (RTM) do ASP.NET Core 1.0 também foi lançada em 27 de junho de 2016. Veja os recursos do ASP.NET Core 1.0 para desenvolver aplicações web com ASP.NET Core MVC e serviços web com ASP.NET Core Web API no seu sistema operacional predileto: Windows, Mac OS X ou Linux. Além disso, veja aplicações web ASP.NET Core 1.0 executando em servidores Windows, Linux e contêineres Docker. E veja qual a relação existe entre as novas aplicações ASP.NET Core e as anteriores: aplicações ASP.NET tradicionais, incluindo: ASP.NET Web Forms, ASP.NET MVC e ASP.NET Web Pages.
C# é uma linguagem de programação orientada a objetos derivada de C/C++ que faz parte da plataforma .NET da Microsoft. A linguagem possui recursos como coleta de lixo automática e tratamento de exceções que auxiliam na construção de softwares robustos. O documento apresenta os conceitos básicos de C# e mostra como escrever um programa "Olá Mundo" nesta linguagem.
O documento descreve os principais componentes e características de sistemas operacionais, incluindo o papel do núcleo, as interfaces gráficas e de linha de comando, exemplos de sistemas operacionais atuais e descontinuados, e as diferenças entre sistemas operacionais monotarefa e multitarefa.
O documento descreve como o Docker pode ser usado para criar e executar containers leves com aplicações como o OwnCloud. Explica que o Docker usa Linux Containers (LXC) para compartilhar recursos do sistema operacional anfitrião e armazenar dados em camadas usando AuFS. Fornece instruções detalhadas para construir um container Docker com OwnCloud, MySQL e servidor Apache.
Semelhante a Curso de shell-tutorial avançadoIII .pdf (20)
3. http://www.cyberciti.biz/pdf/lsst/index.html (2 de 5) [29/07/2002 18:50:01]
Tutorial de Linux Shell Scripting v1.05r3 - Um manual para iniciantes
Capítulo 4: Comandos avançados de script de shell
Tomada de decisão em shell script (ou seja, comando if) comando
de teste ou [expr] if...else...fi
Loops if-then-else multiníveis
em scripts de shell for loop
Loop for
aninhado loop while
A instrução
case Como depurar o
script de shell?
/dev/null - para enviar saída indesejada da variável local e
global do programa Shell (comando de exportação)
Mais comandos em uma linha de comando
Processamento de linha de
comando Por que argumentos de linha de comando
são necessários Redirecionamento de saída/entrada padrão, ou seja, redirecionamento
de
entrada
- saída Filtro de tubos
O que é processos Por que
processo é necessário Comando(s) Linux Relacionado(s) ao processo
Ifs aninhados
Capítulo 3: Construções de linguagem estruturada de shells (bash)
Aritmética do Shell
Mais sobre cotações
Status de
saída Os curingas da
instrução de leitura (abreviação do nome do arquivo ou metacaracteres)
Execução condicional, ou seja, && e ||
Redirecionamento de E/S e descritores de
arquivo
Funções Interface do usuário e utilitário de diálogo
- Parte I Interface do usuário e utilitário de diálogo
- Parte II Caixa de mensagens (msgbox) usando o
utilitário de diálogo Caixa de confirmação (caixa yesno) usando o
utilitário de diálogo Entrada (inputbox) usando
o utilitário de diálogo Interface do usuário usando o utilitário de diálogo -
Juntando tudo
comando trap O comando shift
Machine Translated by Google
4. Tutorial de Linux Shell Scripting v1.05r3 - Um manual para iniciantes
http://www.cyberciti.biz/pdf/lsst/index.html (3 de 5) [29/07/2002 18:50:01]
Removendo linhas duplicadas do arquivo de banco de dados de texto usando o utilitário uniq
Manipulação de dados usando o utilitário awk
utilitário sed - Editando arquivo sem usar o editor
comando getopts
Encontrando padrão correspondente usando o utilitário grep
Localizar e substituir (substituindo expressão regular)
Substituindo palavra pela confirmação do usuário
Encontrando palavras
O utilitário de junção
Copiando linhas
Mais exemplos de sed
Procurando as palavras
Traduzindo intervalo de caracteres usando o utilitário tr
Capítulo 8: Exemplos de Shell Scripts
Imprimindo texto na tela
Selecionando parte de um arquivo usando o utilitário cut
Convertendo caracteres minúsculos em maiúsculos
Capítulo 7: awk revisitado
Introdução ao awk Variáveis
predefinidas do awk Fazendo
aritmética com awk Variáveis
definidas pelo usuário no awk Uso
da instrução printf Uso da
especificação de formato Código if
condição no awk Loops
no awk Exemplos
da vida real no awk awk
diversos sed -
Introdução rápida
Redirecionamento a saída do comando sed
Como escrever scripts sed?
Juntando linhas usando o utilitário paste
Excluindo linhas
Capítulo 6: Aprendendo expressões com ex
Capítulo 5: Utilitários essenciais para usuários avançados
Usando intervalo de caracteres em expressões regulares
Usando & como caractere de substituição especial
Preparando-se para um tour rápido de utilitários essenciais
Começando com ex
Machine Translated by Google
5. http://www.cyberciti.biz/pdf/lsst/index.html (4 de 5) [29/07/2002 18:50:01]
Tutorial de Linux Shell Scripting v1.05r3 - Um manual para iniciantes
Implementação do processo em segundo plano:
Relógio digital usando shell script Interface
de usuário e funções em shell script: Shell script para
implementar sistema baseado em menu.
Loops usando loop while e for: Imprime
nos. como 5,4,3,2,1 usando loop while Imprimindo
os padrões usando loop for.
Comando de manuseio/eco de tela com código de sequência de escape: Shell
script para imprimir a mensagem "Hello World", em negrito, efeito Blink e em cores diferentes como vermelho, marrom etc.
Capítulo 9: Outros Recursos
Manipulação de linha de comando (args):
Adicionando 2 números. fornecido como argumentos de linha
de comando Calculando a média de números fornecidos em argumentos de linha
de comando Descobrindo o maior número de três números fornecidos como argumentos de linha de comando
Script de shell para implementar a instrução getopts.
Aritmética em shell script: Executando
cálculo de número real em shell script Convertendo número decimal
em número hexadecimal Calculando fatorial de determinado número
Manipulação de arquivos: Shell script para
determinar se
determinado arquivo existe ou não.
Calculadora matemática básica (declaração de caso)
Desenvolvimento de lógica:
Shell script para imprimir determinados números, soma de todos os
dígitos Shell script para imprimir contém o arquivo de um determinado número de linha até o próximo número de linhas
Shell script para dizer Bom dia/Tarde/Noite ao fazer login no sistema Shell script para encontrar se o
ano inserido é bissexto ou não Classifique os cinco números fornecidos
em ordem crescente (uso de matriz)
etc.
Apêndice - A : Tutorial do servidor de arquivos Linux (LFST) versão b0.1 Rev. 2 Apêndice - B :
Referência de comandos do Linux (LCR)
Sobre o autor Sobre
este documento
Administração do sistema:
Obtendo mais informações sobre seu ambiente de trabalho por meio de script de shell Script de shell para
coletar informações úteis do sistema, como CPU, discos, RAM e seu ambiente
Script de shell para adicionar DNS Entery ao banco de dados BIND com servidores de nomes, servidores de correio (MX) e host padrão
Integrando
script awk com shell script: Script para converter nomes
de arquivos de MAIÚSCULAS para nomes de arquivos em minúsculas ou vice-versa.
Machine Translated by Google
6. (Cyeberciti Computers & nixCraft tem anos de experiência em Linux/Unix/FreeBSD. Se você precisar de algum
assistência, educação, suporte para Linux/Unix, escreva para sales@cyberciti.biz )
http://www.cyberciti.biz/pdf/lsst/index.html (5 de 5) [29/07/2002 18:50:01]
Tutorial de Linux Shell Scripting v1.05r3 - Um manual para iniciantes
Lar Próximo
Acima Introdução rápida ao Linux
Machine Translated by Google
7. O que há de diferente neste tutorial
Organização do Capítulo
Público deste tutorial
Introdução
http://www.cyberciti.biz/pdf/lsst/ch01.html (1 de 2) [29/07/2002 18:50:59]
LSST v1.05r3 > Capítulo 1 > Introdução rápida ao Linux
Presumo que você tenha pelo menos conhecimento prático de Linux, ou seja, comandos básicos como criar, copiar, remover
arquivos/diretórios etc. ou como usar editores como vi ou mcedit e fazer login em seu sistema. Mas não espera nenhuma
experiência em linguagem de programação. Se você tiver acesso ao Linux, este tutorial fornecerá uma introdução fácil de
seguir ao script de shell.
Muitos outros tutoriais e livros sobre scripts de shell do Linux são muito básicos ou ignoram etapas intermediárias
importantes. Mas este tutorial manteve o equilíbrio entre os dois. Ele cobre muitos exemplos modernos de scripts de shell da
vida real que quase são perdidos por muitos outros tutoriais/documentos/livros. Usei uma
abordagem prática neste tutorial. A ideia é muito clara "faça você mesmo ou aprenda fazendo", ou seja, tentar as coisas
sozinho é a melhor maneira de aprender, então os exemplos são apresentados como scripts de shell completos e funcionais,
que podem ser digitados e executados
Os capítulos 1 a 4 mostram a maioria dos conceitos úteis e importantes de shell scripting. Capítulo 5, introdução às ferramentas
e utilitários que podem ser usados durante a programação inteligente do shell do Linux. Os capítulos 6 e 7 são sobre
expressões e expressões usadas principalmente por ferramentas como sed e awk. O Capítulo 8 está repleto de exemplos de
scripts de shell divididos em diferentes categorias. O Capítulo 9 fornece mais informações sobre recursos que podem ser usados
ao aprender o script de shell, como informações sobre o sistema de arquivos Linux, referência de comandos comuns do
Linux e outros recursos.
O Capítulo 1 apresenta conceitos básicos como o que é Linux, onde o Linux pode ser usado e continua explicando o
shell, shell script e kernel, etc.
Próximo
Este tutorial foi desenvolvido para iniciantes que desejam aprender o básico de script/programação de shell, além de introdução
a ferramentas poderosas como awk, sed, etc. ao ler este tutorial, você pode achar o manual bastante útil (digite man bash no
prompt $ para ver as páginas do manual). O manual contém todas as informações necessárias, mas não terá muitos
exemplos, o que deixa a ideia mais clara. Por esse motivo, este tutorial contém exemplos em vez de todos os recursos do
shell.
Anterior
Linux Shell Scripting Tutorial (LSST) v1.05r3 Capítulo 1:
Introdução: Introdução rápida ao Linux
O Capítulo 2 mostra como escrever o shell script e executá-lo. Ele explica muitos conceitos básicos necessários para escrever
scripts de shell.
Machine Translated by Google
8. http://www.cyberciti.biz/pdf/lsst/ch01.html (2 de 2) [29/07/2002 18:50:59]
LSST v1.05r3 > Capítulo 1 > Introdução rápida ao Linux
Espero que você tenha tanto prazer lendo este tutorial quanto eu tive ao escrevê-lo. Depois de ler este tutorial, se você
for capaz de escrever seus próprios scripts de shell poderosos, então acho que o propósito de escrever este tutorial foi
atendido e, finalmente, se você tiver tempo depois de ler este tutorial, envie-me uma mensagem de e-mail
sobre seu comentário/sugestão /questions e bugs (erros) fora do curso que você encontrar neste tutorial.
Os capítulos 6 e 7 fornecem mais informações sobre padrões, filtros, expressões e, claro, sed e awk são abordados
em profundidade.
Observe que isso indica conceitos avançados de script de shell. Você pode pular isso se for realmente novo em Linux ou
programação, embora isso não seja RECOMENDADO por mim.
Anterior
O Capítulo 5 apresenta programas utilitários poderosos que podem ser usados para diversos fins durante a
programação do shell.
O Capítulo 8 contém muitos exemplos de scripts de shell divididos em várias categorias, como desenvolvimento
lógico, administração de sistema, etc.
O Capítulo 4 apresenta muitos conceitos avançados de script de shell, como função, interface de usuário, descritores
de arquivo, manipulação de sinal, vários argumentos de linha de comando, etc.
O Capítulo 3 é sobre como tomar decisões em scripts de shell, bem como em loops em shell. Explica o que são
expressões, como o Shell entende as condições/decisões. Ele também mostra o conceito de aninhamento para
instruções de loop if e for e depuração de script de shell.
Lar
Acima Próximo O que é Linux?
Machine Translated by Google
9. O que é Linux?
http://www.cyberciti.biz/pdf/lsst/ch01sec01.html [29/07/2002 18:51:07]
LSST v1.05r3 > Capítulo 1 > O que é Linux?
• Semelhante ao Unix
• Gratuito
• Código aberto
Acima
Anterior Próximo
Capítulo 1: Introdução: Introdução rápida ao Linux
Tutorial de script de shell do Linux (LSST) v1.05r3
Lar
Anterior
Quem desenvolveu o Linux?
Próximo
• Sistema operacional de rede
Machine Translated by Google
10. Quem desenvolveu o Linux?
mais informações sobre Linus Torvalds, visite sua página inicial.
LSST v1.05r3 > Capítulo 1 > Quem desenvolveu o Linux?
http://www.cyberciti.biz/pdf/lsst/ch01sec02.html [29/07/2002 18:51:08]
sistema operacional de propósito específico chamado Minix (versão pequena do Unix e usada em ambiente acadêmico). Mas
Em 1991, Linus Torvalds estudou Unix na Universidade, onde utilizou experimentos educacionais especiais
O Minix tinha suas próprias limitações. Linus sentiu que poderia fazer melhor que o Minix. Então ele desenvolveu seu próprio
Lar
Anterior Próximo
Capítulo 1: Introdução: Introdução rápida ao Linux
Tutorial de script de shell do Linux (LSST) v1.05r3
Anterior O que é Linux? Como obter o Linux?
Próximo
versão do Minix, que agora é conhecido como Linux. Linux é código aberto desde o início do dia. Para
Acima
Machine Translated by Google
11. Site/Logotipo
Distribuições Linux.
SuSE Linux: http://www.suse.com/
Mandrake Linux:
http://www.mandrakesoft.com/
Próximo
Linux disponível para download pela rede, isso é útil se sua conexão com a internet for rápida. Outra forma é encomendar os
CD-ROMs o que economiza tempo, e a instalação a partir do CD-ROM é rápida/automática. Várias distribuições Linux
disponíveis. A seguir estão distribuições importantes do Linux.
Anterior
Linux Shell Scripting Tutorial (LSST) v1.05r3 Capítulo 1:
Introdução: Introdução rápida ao Linux
Debian GNU/Linux: http://
www.debian.org/
Slackware Linux:
http://www.slackware.com/
Nota: Se você estiver na Índia, poderá obter a distribuição Linux da revista Leading Computer, como PC Quest (Até o PCQuest
tem seu próprio sabor Linux) ou se você estiver em Pune, Índia, visite nosso site para obter o Red Hat Linux ou qualquer outra
distribuição oficial do Linux. Observe que você também pode obter sua distribuição Linux com livros sobre Linux que você
compra na livraria local.
Caldera Linux:
http://www.calderasystems.com/
Red Hat Linux: http://
www.redhat.com/
LSST v1.05 > Capítulo 1 > Como obter o Linux?
http://www.cyberciti.biz/pdf/lsst/ch01sec03.html (1 de 2) [29/07/2002 18:51:11]
Como obter o Linux?
Machine Translated by Google
12. Acima Como instalar o Linux
Lar
Anterior Quem desenvolveu o Linux?
Próximo
LSST v1.05 > Capítulo 1 > Como obter o Linux?
http://www.cyberciti.biz/pdf/lsst/ch01sec03.html (2 de 2) [29/07/2002 18:51:11]
Machine Translated by Google
13. Lar
Anterior Como obter o Linux? Acima
Próximo
Capítulo 1: Introdução: Introdução rápida ao Linux
versão 6.2 e 7.2.
Por favor visite o LESSBS Página inicial do projeto para Guia de instalação visual rápida para Red Hat Linux
Tutorial de script de shell do Linux (LSST) v1.05r3
Onde posso usar o Linux?
Anterior Próximo
LSST v1.05 > Capítulo 1 > Como instalar o Linux?
http://www.cyberciti.biz/pdf/lsst/ch01sec04.html [29/07/2002 18:51:22]
Como instalar o Linux?
Machine Translated by Google
14. Onde posso usar o Linux?
Servidor Linux com diferentes sistemas operacionais clientes
• Robusto
• Estável
• Seguro
• Alto desempenho
Anterior Próximo
Você pode usar o Linux como sistema operacional de servidor ou como sistema operacional independente em seu PC. (Mas é mais adequado para servidor.) Como um
sistema operacional de servidor, ele fornece diferentes serviços/recursos de rede para o cliente. O sistema operacional do servidor deve ser:
Tutorial de script do Linux Shell (LSST) v1.05r3 Capítulo 1:
Introdução: Noções básicas do Linux Shell
O Linux oferece todas as características acima, além de seu sistema operacional de código aberto e gratuito. Portanto, o Linux pode ser usado como:
(1) Em estação de trabalho/ PC independente para processamento de texto, gráficos, desenvolvimento de software, internet, e-mail, bate-
papo, pequeno sistema de gerenciamento de banco de dados pessoal, etc.
(2) Em ambiente de rede como: (A) Arquivo
e impressão ou servidor de aplicativos Compartilhar os
dados, conectar o dispositivo caro como impressora e compartilhá-lo, e-mail dentro da LAN/intranet etc. são algumas das aplicações.
(B) O servidor Linux pode ser conectado à Internet, para que os PCs na intranet possam compartilhar a internet/e-mail, etc.
Você pode colocar seu servidor web que administra seu site ou transmitir as informações pela internet.
LSST v1.05 > Capítulo 1 > Onde posso usar Linux?
http://www.cyberciti.biz/pdf/lsst/ch01sec05.html (1 de 2) [29/07/2002 18:51:26]
Machine Translated by Google
15. Veja o MENOSBS projeto para obter mais informações sobre Linux Essential Services (conforme mencionado acima) e
Dispositivo de cache etc.
como implementá-los de maneira fácil para você ou sua organização.
• Servidor de grupo de trabalho
Próximo
No Data Center para diversas atividades de servidor como FTP, Telnet, SSH, Web, Mail, Proxy, Proxy
O que é kernel?
Lar
• Servidor Web
• Estação de trabalho de desenvolvimento de software
Portanto, você pode usar o Linux para:
Anterior
Acima
Como instalar o Linux
• Trabalho Pessoal
O servidor Linux pode atuar como servidor proxy/correio/WWW/roteador, etc.
http://www.cyberciti.biz/pdf/lsst/ch01sec05.html (2 de 2) [29/07/2002 18:51:26]
LSST v1.05 > Capítulo 1 > Onde posso usar Linux?
•
Machine Translated by Google
16. O Kernel decide quem utilizará esse recurso, por quanto tempo e quando. Ele executa seus programas (ou configura para
dados, dados de impressão na impressora, memória, gerenciamento de arquivos etc.
• Gerenciamento de arquivos
Tutorial de script de shell do Linux (LSST) v1.05r3
executar arquivos binários).
• Gerenciamento de memória
Anterior Onde posso usar o Linux?
Kernel é o coração do Linux OS.
• Gestão de processos
Ele gerencia recursos do Linux Os. Recursos significa recursos disponíveis no Linux. Por exemplo, facilidade para armazenar
• Gerenciamento de dispositivos
É a parte residente na memória do Linux. Ele executa a seguinte tarefa: -
Próximo
Anterior
O que é Linux Shell?
Próximo
Capítulo 1: Introdução: Noções básicas do Linux Shell
O kernel atua como um intermediário entre o hardware do computador e vários
• Gerenciamento de E/S
Lar
programas/aplicativo/shell.
Acima
http://www.cyberciti.biz/pdf/lsst/ch01sec06.html [29/07/2002 18:51:28]
LSST v1.05 > Capítulo 1 > LSST v1.05 > Capítulo 1 >
O que é kernel?
Machine Translated by Google
17. Vários shell disponíveis com Linux, incluindo:
Software grátis
a programação C
Anterior
Veja a página de manual.
$ gato /etc/conchas
Laboratórios AT&T Bell
--
Capítulo 1: Introdução: Noções básicas do Linux Shell
A sintaxe do shell C e
interpretador que executa comandos lidos do dispositivo de entrada padrão (teclado) ou de um arquivo.
BASH (Bourne-de novo
$ prompt. Este prompt depende do seu shell e ambiente que você definiu ou do seu sistema
Tutorial de script de shell do Linux (LSST) v1.05r3
Shell é um programa de usuário ou um ambiente fornecido para interação do usuário. Shell é uma linguagem de comando
Observação
tão poderosos quanto nossos Linux Shells são!
nós, para ler e escrever. Portanto, no Os existe um programa especial chamado Shell. A Shell aceita suas instruções ou
Ramey
Shell mais comum em
KSH (Korn Shell)
versão compatível de
CSH (C SHell)
TCSH é um aprimoramento
diferentes funções integradas.
O computador entende a linguagem de 0 e 1 chamada linguagem binária.
Desenvolvido por
Universidade da Califórnia
Fundação
Próximo
Nome do Concha
linguagem.
Digite $ man tcsh
Dica: Para encontrar todos os shells disponíveis em seu sistema, digite o seguinte comando:
Shell não faz parte do kernel do sistema, mas usa o kernel do sistema para executar programas, criar arquivos, etc.
Concha )
o uso é muito semelhante ao
--
Observe que cada shell faz o mesmo trabalho, mas cada um entende uma sintaxe de comando diferente e fornece
Administrador, portanto você pode receber um prompt diferente).
concha.
David Korn
shell (CSH).
querer. Se estivermos dando comandos do teclado, isso é chamado de interface de linha de comando (geralmente na frente do
Onde
Linux. É gratuito
TCSH
comandos em inglês (principalmente) e se for um comando válido, ele é passado para o kernel.
o Berkeley UNIX C
Qualquer um dos shells acima lê o comando do usuário (via teclado ou mouse) e informa ao Linux OS quais usuários
mas completamente
No MS-DOS, o nome do Shell é COMMAND.COM, que também é usado para a mesma finalidade, mas não é tão
Nos primórdios da computação, as instruções eram fornecidas em linguagem binária, o que era difícil para todos
Brian Fox e Chet
(Para BSD)
Bill Alegria
http://www.cyberciti.biz/pdf/lsst/ch01sec07.html (1 de 2) [29/07/2002 18:51:30]
LSST v1.05 > Capítulo 1 > O que é Linux Shell?
O que é Linux Shell?
Machine Translated by Google
18. Anterior O que é Kernel? Acima
$ eco $SHELL
Dica: Para encontrar seu shell atual, digite o seguinte comando
Como usar o Shell
Lar Próximo
http://www.cyberciti.biz/pdf/lsst/ch01sec07.html (2 de 2) [29/07/2002 18:51:30]
LSST v1.05 > Capítulo 1 > O que é Linux Shell?
Machine Translated by Google
19. programando o shell.
Veja o comando comum do Linux para sintaxe e exemplo, isso pode ser usado como referência rápida enquanto
Anterior O que é Linux Shell? O que é ShellScript?
Para usar o shell (você começa a usar o shell assim que faz login no sistema), basta digitar
comandos.
Capítulo 1: Introdução: Noções básicas do Linux Shell
Tutorial de script de shell do Linux (LSST) v1.05r3
Acima
Próximo
Próximo
Lar
Anterior
http://www.cyberciti.biz/pdf/lsst/ch01sec08.html [29/07/2002 18:51:31]
LSST v1.05 > Capítulo 1 > Como usar o Shell
Como usar o Shell
Machine Translated by Google
20. comandos. Isso é conhecido como shell script.
sequência de comando para arquivo de texto e diga ao shell para executar este arquivo de texto em vez de inserir o
Próximo
Tutorial de script de shell do Linux (LSST) v1.05r3
Script de shell definido como:
Por que escrever Shell Script?
Normalmente os shells são interativos. Significa que o shell aceita o comando seu (via teclado) e executa
Lar
eles. Mas se você usar o comando um por um (sequência de 'n' número de comandos), você poderá armazenar isso
Acima
Anterior
Anterior Próximo
Capítulo 1: Introdução: Noções básicas do Linux Shell
"Shell Script é uma série de comandos escritos em arquivo de texto simples. Shell script é exatamente como o arquivo em lote é MS-DOS
Como usar o Shell
mas tem mais poder que o arquivo em lote do MS-DOS."
http://www.cyberciti.biz/pdf/lsst/ch01sec09.html [29/07/2002 18:51:33]
LSST v1.05 > Capítulo 1 > O que é Shell Script?
O que é ShellScript?
Machine Translated by Google
21. Próximo
Anterior
• Economize muito tempo.
• Para automatizar alguma tarefa do dia a dia.
Capítulo 1: Introdução: Noções básicas do Linux Shell
• Útil para criar nossos próprios comandos.
• O shell script pode receber entradas do usuário, arquivá-las e exibi-las na tela.
Tutorial de script de shell do Linux (LSST) v1.05r3
• A parte de Administração do Sistema também pode ser automatizada.
Acima
Próximo
Lar
Mais sobre a Shell...
Anterior O que é Shell Script?
http://www.cyberciti.biz/pdf/lsst/ch01sec10.html [29/07/2002 18:51:34]
LSST v1.05 > Capítulo 1 > Por que escrever Shell Script?
Por que escrever Shell Script?
Machine Translated by Google
22. Tente entender o sistema operacional Linux
Distribuição Red Hat Linux). Todos os scripts também são testados no Red Hat Linux versão 7.2.
Tente entender o básico do shell do Linux
Tutorial de script de shell do Linux (LSST) v1.05r3
Anterior Por que escrever Shell Script?
Lar
Navegue na Web para ler o tutorial. (IE ou Netscape) Para a versão PDF você precisa de um leitor de PDF.
Neste tutorial estamos usando o shell bash.
Linux - shell bash. (Disponível em quase todas as distribuições Linux. Por padrão, bash é o shell padrão para
Introdução à programação Shell
Próximo
SO Linux (usei a distribuição Red Hat Linux versão 6.x+)
Capítulo 1: Introdução: Noções básicas do Linux Shell
Tente aprender a programação do shell do Linux
Acima
Anterior
Próximo
LSST v1.05 > Capítulo 1 > Noções básicas do Linux Shell
http://www.cyberciti.biz/pdf/lsst/ch01sec11.html [29/07/2002 18:51:36]
Objetivo deste tutorial (LSST v.1.5)
O que eu preciso para aprender este tutorial (LSST
Roteiro ?
Qual Shell estamos usando para escrever Shell
v.1.5)
Machine Translated by Google
23. Começaremos a escrever um pequeno script de shell, que imprimirá "Conhecimento é poder" na tela.
Nesta parte do tutorial você será apresentado à programação shell, como escrever scripts, executá-los, etc.
Antes de começar com isso você deve saber
• Como usar um editor de texto como o vi, consulte o comando vi comum para obter mais informações.
Capítulo 2: Introdução à programação Shell Próximo
Anterior
Tutorial de script de shell do Linux (LSST) v1.05r3
• Navegação básica de comandos
Acima
Próximo
Lar
Como escrever script de shell
Anterior Mais sobre Shell...
http://www.cyberciti.biz/pdf/lsst/ch02.html [29/07/2002 18:51:37]
LSST v1.05r3 > Capítulo 2 > Introdução à programação Shell
Introdução à programação Shell
Machine Translated by Google
24. (2) Depois de escrever o shell script, defina a permissão de execução para o seu script conforme
a
seguinte sintaxe: chmod permission your-script-name
(1) Use qualquer editor como vi ou mcedit para escrever scripts de shell.
Exemplos: $
chmod +x nome do seu script $ chmod 755 nome
do seu script
se você é novo no vi.
$ vi primeiro #
,
Próximo
Exemplo:
$. foo
Agora você está pronto para escrever o primeiro script de shell que imprimirá "Conhecimento é poder" na tela. Veja a lista de comandos comuns do vi
As etapas a seguir são necessárias para escrever o script Shell:
Exemplos: $
bash bar $ sh bar
$ ./bar
echo "Conhecimento é Poder"
Depois de salvar o script acima, você pode executá-lo da seguinte maneira:
$ ./first
Anterior
NOTA Na última sintaxe ./ significa diretório atual, mas apenas . (ponto) significa executar determinado arquivo de comando no shell atual sem
iniciar a nova cópia do shell. A sintaxe para. O comando (ponto) é o seguinte Sintaxe: . nome do
comando
Nota: Isso definirá a permissão de leitura, gravação e execução (7) para o proprietário, para o grupo e outras permissões são somente leitura e execução (5).
#Meu primeiro script de shell#
claro
Linux Shell Scripting Tutorial (LSST) v1.05r3 Capítulo 2:
Introdução à programação Shell
(3) Execute seu script como
sintaxe:
bash nome-seu-script sh
nome-seu-script ./nome-
seu-script
[Anúncio]
[Obtenha o domínio Cyberciti por apenas Rs.445 com 2 e-mails grátis]
LSST v1.05r3 > Capítulo 2 > Como escrever script de shell
http://www.cyberciti.biz/pdf/lsst/ch02sec01.html (1 de 2) [29/07/2002 18:51:39]
Como escrever script de shell
Machine Translated by Google
25. Como o Shell localiza o arquivo (meu próprio diretório bin para executar o script)
cal
Significado
A primeira tela ficará clara e, em seguida, Conhecimento é Poder será impresso na tela.
claro
claro
Próximo
Isso não executará o script, pois não definimos primeiro a permissão de execução para nosso script; para fazer isso digite o comando $
chmod 755 first $ ./first
#Meu primeiro script de
shell#
#
Sintaxe:
# comment-text
limpa a tela Para
imprimir mensagem ou valor de variáveis na tela,
usamos o comando echo, a forma geral do
comando echo é a seguinte sintaxe: echo
"Mensagem"
Introdução à programação Shell
# Script para imprimir informações do usuário que está atualmente logado e horário
Inicie o editor vi
Exercício:
1) Escreva o seguinte script de shell, salve-o, execute-o e anote sua saída.
Ponto Futuro: No final, por que a instrução exit 0 é usada? Consulte o status de saída para obter mais informações.
saída 0
$ vi primeiro
Dica: Para arquivos de script de shell, tente fornecer uma extensão de arquivo como .sh, que pode ser facilmente identificada por você como script de shell.
Comando(s) de script
echo "Olá $USER" echo "Hoje é c
";date echo "Número de login do usuário: c" ;
quem | wc -l echo "Calendário"
echo "Conhecimento é Poder"
Variáveis no Shell
Acima
data atual
Lar
#
# seguido de qualquer texto é considerado
comentário. O comentário fornece mais
informações sobre o script, explicação
lógica sobre o shell script.
$viginfo##
Anterior
[Obtenha o domínio Cyberciti por apenas Rs.445 com 2 e-mails grátis]
LSST v1.05r3 > Capítulo 2 > Como escrever script de shell
http://www.cyberciti.biz/pdf/lsst/ch02sec01.html (2 de 2) [29/07/2002 18:51:39]
[Anúncio]
Machine Translated by Google
26. LETRAS MAIÚSCULAS.
Nº de colunas para nossa tela
Nº de colunas para nossa tela
Próximo
SHELL=/bin/bash
a) $echo $HOME
PS1=[u@hW]$
Exercício:
Capítulo 2: Introdução à programação Shell
PATH=/usr/bin:/sbin:/bin:/usr/sbin
No Linux (Shell), existem dois tipos de variáveis:
Nosso nome de concha
Tutorial de script de shell do Linux (LSST) v1.05r3
um por vez).
BASH=/bin/bash
que é usado para armazenar nossos dados. O programador pode dar um nome exclusivo a este local/endereço de memória
LINHAS=25
Variável de sistema
Nossas configurações imediatas
das variáveis acima contém o seguinte:
Nosso tipo de sistema operacional
Nome de usuário que está atualmente conectado a este PC
Para processar nossos dados/informações, os dados devem ser mantidos na memória RAM do computador. A memória RAM é
letras mais baixas.
COLUNAS=80
BASH_VERSION=1.14.7(1)
(2) Variáveis definidas pelo usuário (UDV) - Criadas e mantidas pelo usuário. Este tipo de variável definida em
alunos Nosso nome de registro
NOME DE USUÁRIO=vivek
1) Se você deseja imprimir a localização do seu diretório inicial, dê o comando:
OU
(1) Variáveis de sistema - Criadas e mantidas pelo próprio Linux. Este tipo de variável definida em
Nosso nome de versão do shell
Anterior
Nosso diretório inicial
PWD=/home/alunos/Comum
OSTYPE=Linux
Nosso nome de concha
$echo $HOME
Significado
LOGNAME=alunos
Nosso diretório de trabalho atual
chamada variável de memória ou variável (é um local de armazenamento nomeado que pode assumir valores diferentes, mas apenas
$ echo $ NOME DE USUÁRIO
NOTA que algumas das configurações acima podem ser diferentes em seu ambiente PC/Linux. Você pode imprimir qualquer
dividido em pequenos locais, e cada local tinha um número único chamado local/endereço de memória,
Você pode ver as variáveis do sistema fornecendo comandos como $ set. Algumas das variáveis importantes do sistema são:
CASA=/casa/vivek
Nossas configurações de caminho
http://www.cyberciti.biz/pdf/lsst/ch02sec02.html (1 de 2) [29/07/2002 18:51:42]
LSST v1.05r3 > Capítulo 2 > Variáveis no Shell
Variáveis no Shell
Machine Translated by Google
27. Acima
Anterior Lar Próximo
Cuidado: Não modifique a variável do sistema, pois isso pode criar problemas em algum momento.
Como escrever script de shell
Qual dos comandos acima está correto e por quê? Clique aqui para responder.
(b) $ eco HOME
(UDV)
Como definir variáveis definidas pelo usuário
LSST v1.05r3 > Capítulo 2 > Variáveis no Shell
http://www.cyberciti.biz/pdf/lsst/ch02sec02.html (2 de 2) [29/07/2002 18:51:42]
Machine Translated by Google
28. nome da variável = valor
Sintaxe:
'valor' é atribuído a um determinado 'nome de variável' e o valor deve estar no lado direito = sinal.
Tutorial de script de shell do Linux (LSST) v1.05r3
$n=10
Anterior
Variáveis no shell
$vech=Ônibus
UDV e variável de sistema)
Para definir uma variável chamada n com valor 10
Para definir UDV use a seguinte sintaxe
$ 10=não # Erro, NÃO Ok, o valor deve estar no lado direito do sinal =.
Próximo
Próximo
Regras para nomear nomes de variáveis (ambos
Para definir a variável chamada 'vech' com valor Bus
Exemplo:
Capítulo 2: Introdução à programação Shell
Lar
Acima
Anterior
$ não = 10 # tudo bem
LSST v1.05r3 > Capítulo 2 > Como definir variáveis definidas pelo usuário (UDV)
http://www.cyberciti.biz/pdf/lsst/ch02sec03.html [29/07/2002 18:51:44]
(UDV)
Como definir variáveis definidas pelo usuário
Machine Translated by Google
29. (2) Não coloque espaços em ambos os lados do sinal de igual ao atribuir valor à variável. Por exemplo, na seguinte
declaração de variável não haverá erro $ no=10 Mas haverá
problema
para qualquer uma das seguintes declarações de variável: $ no =10 $ no= 10 $ no = 10
(1) O nome da variável deve começar com caractere alfanumérico ou sublinhado (_), seguido de um ou mais caracteres alfanuméricos.
Por exemplo, as variáveis de shell válidas são as seguintes HOME SYSTEM_VERSION vech
(3) As variáveis diferenciam maiúsculas de minúsculas, assim como o nome do arquivo
no Linux.
Por exemplo,
$ no=10 $
No=11 $
NO=20 $ nO=2 Acima de tudo estão nomes de variáveis diferentes, então para imprimir o valor 20 temos que usar $ echo $NO e
nenhum dos
seguintes $ echo $no # irá imprima 10, mas não 20
$ echo $No # imprimirá 11, mas não 20 $ echo $nO
# imprimirá 2, mas não 20
(5) Não use ?,* etc, para nomear seus nomes de variáveis.
Próximo
não
Anterior
Linux Shell Scripting Tutorial (LSST) v1.05r3 Capítulo 2:
Introdução à programação Shell
Tente imprimir seu valor emitindo o seguinte comando $ echo $vech
Nada será mostrado
porque a variável não tem valor, ou seja, variável NULL.
(4) Você pode definir a variável NULL da seguinte forma (variável NULL é uma variável que não tem valor no momento da definição)
Por exemplo, $ vech= $
vech=""
Próximo
Lar
Anterior
LSST v1.05r3 > Capítulo 2 > Regras para nomear nomes de variáveis (UDV e variáveis de sistema)
http://www.cyberciti.biz/pdf/lsst/ch02sec04.html (1 de 2) [29/07/2002 18:51:46]
Regras para nomear nomes de variáveis (ambos
UDV e variável de sistema)
Machine Translated by Google
30. (UDV)
Acima
Como imprimir ou acessar o valor do UDV
Como definir variáveis definidas pelo usuário
(Variáveis definidas pelo usuário)
http://www.cyberciti.biz/pdf/lsst/ch02sec04.html (2 de 2) [29/07/2002 18:51:46]
LSST v1.05r3 > Capítulo 2 > Regras para nomear nomes de variáveis (UDV e variáveis de sistema)
Machine Translated by Google
31. Para imprimir contém a variável 'vech' digite $
echo $vech
Defina a variável vech en da seguinte forma: $
vech=Bus $ n=10
Ele irá imprimir 'Bus', para imprimir contém a variável 'n' digite o comando da seguinte forma $
echo $n
Linux Shell Scripting Tutorial (LSST) v1.05r3 Capítulo 2:
Introdução à programação Shell
Para respostas clique aqui
Anterior Lar
Para imprimir ou acessar a UDV use a seguinte sintaxe
Q.5.Modifique acima e armazene a divisão de xey na variável chamada z Q.6.Aponte
o erro, se houver, no script a seguir
$ vi variscript # # # Script
para testar MEU conhecimento sobre variáveis! # meunome=Vivek myos = TroubleOS
myno=5 echo "Meu
nome é $meunome" echo
"Meu
sistema operacional é $myos" echo "Meu
número é myno, você pode ver este
número"
Sintaxe:
$nomedavariável
Q.2.Como definir a variável xn com valor Rani e imprimi-la na tela Q.3.Como imprimir a
soma de dois números, digamos 6 e 3?
Q.4.Como definir duas variáveis x=20, y=5 e depois imprimir a divisão de xey (ou seja, x/y)
Cuidado: Não tente $ echo vech, pois ele imprimirá vech em vez do valor 'Bus' e $ echo n, pois imprimirá n em vez do valor '10'.
Você deve usar $ seguido do nome da variável.
Anterior
Próximo
Próximo
Exercício
Q.1.Como definir a variável x com valor 10 e imprimi-la na tela.
http://www.cyberciti.biz/pdf/lsst/ch02sec05.html (1 de 2) [29/07/2002 18:51:48]
LSST v1.05r3 > Capítulo 2 > Como imprimir ou acessar o valor de UDV (variáveis definidas pelo usuário)
(Variáveis definidas pelo usuário)
Como imprimir ou acessar o valor do UDV
Machine Translated by Google
32. Acima
UDV e variável de sistema)
Regras para nomear nomes de variáveis (ambos
Comando de eco
LSST v1.05r3 > Capítulo 2 > Como imprimir ou acessar o valor de UDV (variáveis definidas pelo usuário)
http://www.cyberciti.biz/pdf/lsst/ch02sec05.html (2 de 2) [29/07/2002 18:51:48]
Machine Translated by Google
33. Opções
Acima
Exibe texto ou valor de variáveis na tela.
Tutorial de script de shell do Linux (LSST) v1.05r3
-n Não gera a nova linha final.
t guia horizontal
barra invertida
Por exemplo, $ echo -e "Uma maçã por dia mantém longe attdoctorn"
Próximo
Use o comando echo para exibir texto ou valor da variável.
n nova linha
variáveis definidas)
r retorno de carro
echo [opções] [string, variáveis...]
Lar
b retrocesso
Anterior
Anterior
Como imprimir ou acessar o valor do UDV (User
Próximo
c suprimir a nova linha final
-e Habilite a interpretação dos seguintes caracteres de escape de barra invertida nas strings:
Capítulo 2: Introdução à programação Shell
Como exibir texto colorido na tela com efeitos de negrito ou piscar, como imprimir texto em qualquer linha ou coluna
Aritmética de casca
na tela, clique aqui para mais!
um alerta (sino)
http://www.cyberciti.biz/pdf/lsst/ch02sec06.html [29/07/2002 18:51:50]
LSST v1.05r3 > Capítulo 2 > Comando echo
Comando de eco
Machine Translated by Google
34. Para a última afirmação, não os seguintes pontos
Nota:
expr 20 %3 - Resto lido como 20 mod 3 e resto é 2. expr 10 * 3 - Multiplicação
use * e não * desde seu curinga.
Linux Shell Scripting Tutorial (LSST) v1.05r3 Capítulo 2:
Introdução à programação Shell
(1) Primeiro, antes da palavra-chave expr, usamos o sinal ` (aspas crases) e não o sinal (aspas simples, ou seja, '). Aspas atrás
geralmente são encontradas na tecla abaixo do til (~) no teclado do PC OU acima da tecla TAB.
Acima
Próximo
Mais sobre citações
Sintaxe:
expr op1 operador matemático op2
Comando de eco anterior
Lar
Exemplos: $
expr 1 + 3 $ expr 2 -
1 $ expr 10/2 $ expr
20% 3 $ expr 10 * 3 $
echo `expr 6 + 3`
(4) Aqui, se você usar aspas duplas ou simples, NÃO funcionará. Por exemplo, $
echo
"expr 6 + 3" # Irá imprimir expr 6 + 3 $ echo 'expr 6 +
3' # Irá imprimir expr 6 + 3
Próximo
Use para realizar operações aritméticas.
Consulte Substituição de parâmetros - Para economizar seu tempo.
(2) Em segundo lugar, expr também termina com `, ou seja, aspas anteriores.
Anterior
(3) Aqui expr 6 + 3 é avaliado como 9, então o comando echo imprime 9 como soma
http://www.cyberciti.biz/pdf/lsst/ch02sec07.html [29/07/2002 18:51:52]
LSST v1.05r3 > Capítulo 2 > Aritmética de Shell
Aritmética de casca
Machine Translated by Google
35. "Aspas Duplas" - Qualquer coisa colocada entre aspas duplas removeu o significado disso
Próximo
Significado
Tutorial de script de shell do Linux (LSST) v1.05r3
Caracteres de
aspas duplas (exceto e $).
Exemplo:
$ echo "Hoje é data"
Não é possível imprimir a mensagem com a data de hoje.
Status de saída
Existem três tipos de citações
`
Lar
`Citação anterior` - Para executar o comando
Nome das citações
Acima
Citação anterior
Próximo
Anterior
Aritmética de casca
'
"
Capítulo 2: Introdução à programação Shell
$ echo "Hoje é `data`".
Ele imprimirá a data de hoje como Hoje é terça-feira, janeiro ..... Você pode ver que a instrução `date` usa aspas invertidas?
Anterior
Aspas simples 'Aspas simples' - Entre aspas simples permanece inalterado.
http://www.cyberciti.biz/pdf/lsst/ch02sec08.html [29/07/2002 18:51:53]
LSST v1.05r3 > Capítulo 2 > Mais sobre cotações
Mais sobre citações
Machine Translated by Google
36. Mas como descobrir o status de saída do comando ou script de shell?
Este valor é conhecido como Status de Saída.
Linux Shell Scripting Tutorial (LSST) v1.05r3 Capítulo 2:
Introdução à programação Shell
Simples, para determinar esse status de saída você pode usar $? variável especial do shell.
$echon$? $ eco
$?
$? variável útil, quer saber mais sobre essas variáveis do Linux, clique aqui para explorá-las!
(1) Se o valor de retorno for zero (0), o comando foi bem-sucedido.
$ oeste selvagem pode funcionar?
$ eco $?
$ data $
eco $?
(2) Se o valor de retorno for diferente de zero, o comando não foi bem-sucedido ou algum tipo de erro ao executar o comando/shell
script.
Exercício
Tente os seguintes comandos e não desça o status de saída: $ expr 1 +
3 $ echo $?
Anterior Próximo
$ echo Bem-vindo $ echo
$?
Por exemplo (este exemplo assume que unknow1file não existe em seu disco rígido) $ rm unknow1file
Ele mostrará o erro da
seguinte forma rm: não é possível
remover `unkowm1file': Esse arquivo ou diretório não existe e depois disso
se você der o comando $ echo $? ele
imprimirá
um valor diferente de zero para indicar erro. Agora dê o comando $ ls $ echo $?
Ele imprimirá 0 para indicar que o comando foi bem-sucedido.
Por padrão no Linux, se um determinado comando/shell script for executado, ele retornará dois tipos de valores que são usados
para ver se o comando ou shell script executado foi bem-sucedido ou não.
http://www.cyberciti.biz/pdf/lsst/ch02sec09.html (1 de 2) [29/07/2002 18:51:55]
LSST v1.05r3 > Capítulo 2 > Status de saída
Status de saída
Machine Translated by Google
37. Lar Próximo
Mais sobre citações
Anterior
Acima A declaração lida
http://www.cyberciti.biz/pdf/lsst/ch02sec09.html (2 de 2) [29/07/2002 18:51:55]
LSST v1.05r3 > Capítulo 2 > Status de saída
Machine Translated by Google
38. #
Seu primeiro nome, por favor: vivek
Anterior
Capítulo 2: Introdução à programação Shell
o teclado é armazenado (atribuído) à variável fname.
$ chmod 755 digaH
Curingas (abreviação de nome de arquivo ou meta
Tutorial de script de shell do Linux (LSST) v1.05r3
insere o nome no teclado (depois de fornecer o nome você deve pressionar a tecla ENTER) e insere o nome através
Execute-o da seguinte maneira:
leia variável1, variável2,...variávelN
Lar
leia nome
Use para obter entrada (dados do usuário) do teclado e armazenar (dados) na variável.
#
Anterior
Olá vivek, vamos ser amigos!
Próximo
#Script para ler seu nome no teclado
$ vi dizerH
$ ./digaH
Personagens)
Próximo
echo "Olá $fname, vamos ser amigos!"
Acima
O script a seguir primeiro pergunta ao usuário o nome e depois espera para inserir o nome do usuário por meio do teclado. Então usuário
Sintaxe:
echo "Seu primeiro nome, por favor:"
Status de saída
http://www.cyberciti.biz/pdf/lsst/ch02sec10.html [29/07/2002 18:51:56]
LSST v1.05r3 > Capítulo 2 > A instrução read
A declaração lida
Machine Translated by Google
39. $l é um*
extensão .c, mas o nome do arquivo deve
$ls ?
Próximo
$ ls /bin/[ac]*
$ls /bin/[!ao]
[..-..] Um par de caracteres separados por um sinal de menos indica um intervalo.
/bin/chgrp /bin/consolechars /bin/csh
Capítulo 2: Introdução à programação Shell
letras a,b,c
mostrará todos os arquivos
*
Exemplos
Tutorial de script de shell do Linux (LSST) v1.05r3
$ ls *.c
caracteres.
/Forma abreviada
têm 3 caracteres e nome de arquivo
extensão .c
Corresponde a qualquer um dos
/bin/arch /bin/awk /bin/bsh /bin/chmod /bin/ash /bin/nomebase /bin/cat /
bin/chown /bin/ash.static /bin/bash
Corresponde a qualquer caractere único.
$ls[abc]*
Se o primeiro caractere após [ for um ! ou um ^, então qualquer caractere não incluído será correspondido, ou seja, não
o nome começa com a letra 'a'
mostrará todos os arquivos cujos nomes
comece com 'ut'.
?
mostrará todos os arquivos cujo primeiro
[...]
$ ls /bin/[^ao]
Mas
Anterior
$ lsut*.c
mostrará todos os arquivos com
$ls*
Exemplo:
mostrará todos os arquivos começando com
Observação:
/bin/cpio
Corresponde a qualquer string ou grupo de
comece com fo
caracteres fechados
Significado
/bin/cp
Mostrará todos os nomes de arquivos começando com a letra a, b ou c como
mostre-nos o nome do arquivo que começa com a,b,c,e...o, como
Curinga
mostrará todos os arquivos com
têm 1 caractere mostrará
todos os arquivos cujos nomes
$ ls fo?
http://www.cyberciti.biz/pdf/lsst/ch02sec11.html (1 de 2) [29/07/2002 18:51:58]
LSST v1.05r3 > Capítulo 2 > Curingas (abreviação de nome de arquivo ou metacaracteres)
Curingas (abreviação de nome de arquivo ou meta
Personagens)
Machine Translated by Google
40. /bin/sh /bin/tcsh /bin/vi
/bin/sfxload /bin/tar /bin/usleep
/bin/ps /
bin/pwd /
bin/red /
bin/remadmin /bin/sed /bin/
rm /bin/
rmdir /bin/
rpm
Anterior
/bin/su /bin/uname /bin/ypdomainname
Mais comandos em uma linha de comando
/bin/setserial /bin/sync /bin/userconf /bin/zcat
Acima
/bin/classificar /bin/true /bin/wcomp
/bin/digaOlá /bin/stty /bin/umount /bin/xconf
Próximo
A declaração lida
/bin/rvi /
bin/rview
/bin/dormir /bin/tocar /bin/visualizar
Lar
http://www.cyberciti.biz/pdf/lsst/ch02sec11.html (2 de 2) [29/07/2002 18:51:58]
LSST v1.05r3 > Capítulo 2 > Curingas (abreviação de nome de arquivo ou metacaracteres)
Machine Translated by Google
41. Exemplos:
Para executar dois comandos com uma linha de comando.
Tutorial de script de shell do Linux (LSST) v1.05r3
$ data;quem
Lar
Acima
Próximo
Sintaxe:
Curingas (abreviação de nome de arquivo ou meta
Personagens)
comando1;comando2
para o mesmo propósito, você deve colocar ponto e vírgula entre a data e o comando who.
Próximo
Anterior
Irá imprimir a data de hoje seguida pelos usuários que estão logados no momento. Observe que você não pode usar
Capítulo 2: Introdução à programação Shell
Processamento de linha de comando
Anterior
$ data quem
http://www.cyberciti.biz/pdf/lsst/ch02sec12.html [29/07/2002 18:52:00]
LSST v1.05r3 > Capítulo 2 > Mais comandos em uma linha de comando
Mais comandos em uma linha de comando
Machine Translated by Google
42. Todo o resto na linha de comando é considerado argumento para este comando. Por exemplo
$ correio raj
eu
Anterior
3
correspondência
2
-r, -n e meuf
Capítulo 2: Introdução à programação Shell
grate_stories_of ?
$ mv y.bak y.ok
Comando
Tutorial de script de shell do Linux (LSST) v1.05r3
incitar. Agora surge mais uma pergunta : O que são comandos? O que aconteceu quando você digitou $ ls
$ cp e y.bak
OBSERVAÇÃO:
Ele imprimirá uma mensagem semelhante a - grate_stories_of: Esse arquivo ou diretório não existe.
Responder:
Tente determinar o comando e os argumentos dos seguintes comandos
1
y.bak e y.ok
mv
0
data
Tente o seguinte comando (supõe que o arquivo "grate_stories_of" não existe em seu sistema)
O nome do comando é tail e os argumentos são +10 e myf.
$ data
$ sort -r -n meuf
Próximo
$ cauda +10 myf
CP
0
cauda
A primeira palavra na linha de comando é ls - é o nome do comando a ser executado.
$ cauda -10 myf
Argumento real
1
organizar
(ou seja, $#)
2
Raj
$ ls foo
Nº de argumentos para este comando
2
ls é o nome de um comando real e o shell executou esse comando quando você digitou o comando no shell
-10 e meu Deus
$# contém o número de argumentos especificados na linha de comando. E $* ou $@ referem-se a todos os argumentos passados para
você e você.bak
claro
$ ls grate_stories_of
Exercício
$ claro
foo
http://www.cyberciti.biz/pdf/lsst/ch02sec13.html (1 de 2) [29/07/2002 18:52:02]
LSST v1.05r3 > Capítulo 2 > Processamento de linha de comando
Processamento de linha de comando
Machine Translated by Google
43. Mais comandos em uma linha de comando Acima
Anterior
roteiro.
Por que os argumentos da linha de comando são necessários
Lar Próximo
http://www.cyberciti.biz/pdf/lsst/ch02sec13.html (2 de 2) [29/07/2002 18:52:02]
LSST v1.05r3 > Capítulo 2 > Processamento de linha de comando
Machine Translated by Google
44. Vamos usar o comando ls
$ Ls -a /*
Este comando tem 2 argumentos de linha de comando -a e /* é outro. Para script de shell, $ myshell
foo bar
Aqui rm é o comando e filename é o arquivo que você deseja remover. Dessa forma, você segue o comando rm qual arquivo deseja
remover. Portanto, estamos fazendo comunicação unilateral com nosso comando, especificando o nome do arquivo. Além disso, você
pode passar argumentos de linha de comando para o seu script para torná-lo mais amigável. Mas como acessamos o argumento da linha de
comando em nosso script.
Linux Shell Scripting Tutorial (LSST) v1.05r3 Capítulo 2: Introdução
à programação Shell
Nome do Shell Script, ou seja, myshell
Próximo
cara, é $ 1
barra custa $ 2
Vamos pegar o comando rm, que é usado para remover o arquivo, mas qual arquivo você deseja remover e como você dirá isso ao comando
rm (mesmo o comando rm não pergunta o nome do arquivo que você gostaria de remover). Então o que fazemos é escrever o comando
da seguinte forma: $ rm {nome do arquivo}
No shell, se quisermos nos referir a este argumento de linha de comando, nos referimos acima como segue
2. Informar ao utilitário/comando qual arquivo ou grupo de arquivos processar (leitura/gravação de arquivos).
Anterior
meu shell é $ 0
Primeiro argumento de linha de comando passado para myshell, ou seja, foo
1. Informar ao comando/utilitário qual opção usar.
Segundo argumento da linha de comando passado para myshell, ou seja, bar
http://www.cyberciti.biz/pdf/lsst/ch02sec14.html (1 de 3) [29/07/2002 18:52:05]
LSST v1.05r3 > Capítulo 2 > Por que argumentos de linha de comando são necessários
Por que os argumentos da linha de comando são necessário
Machine Translated by Google
45. O script a seguir é usado para imprimir o argumento ling do comando e mostrará como acessá-los:
#
matemática
$ cal
Aqui $# (variável embutida no shell) será 2 (já que foo e bar apenas dois argumentos), observe de cada vez
Nº de argumentos para o script
$#
1
Nº de argumentos (ou seja, $#),
4 GRANDE
$ matemática 4 - 7
11
echo "Todos eles são: - $* ou $@"
-5
2
parâmetros".
encontrarBS
3
Nome do script de shell ($0),
-
Nome do script de
shell $0
echo "O número total de argumentos da linha de comando é $#"
$ 1 $ 2 $ 3 $ 4 $ 5
`$1,$2...$9`). Observe que $1..$9, ou seja, argumentos de linha de comando para shell script, são conhecidos como "posicionais
meu +20
24
4
#!/bin/sh
soma
$Ls*
echo "$2 é o segundo argumento"
cal
Tente escrever o seguinte para comandos
0
$ soma 11 20
#
7
Responder
echo "$1 é o primeiro argumento"
Ls
Argumento real ($1,..$9)
esses 9 argumentos podem ser usados de $1..$9. Você também pode referir todos eles usando $* (que se expande para
20
$ bp -5 myf +20
$ vi demonstração
# Script que demonstra, argumentos de linha de comando
$ encontrarBS 4 8 24 GRANDE
d
8
0
E argumento real (ou seja, $ 1, $ 2 etc.)
4
$ d
echo "$0 é o nome do script"
bp
*
3
Exercício
Execute-o da seguinte maneira
http://www.cyberciti.biz/pdf/lsst/ch02sec14.html (2 de 3) [29/07/2002 18:52:05]
LSST v1.05r3 > Capítulo 2 > Por que argumentos de linha de comando são necessários
Machine Translated by Google
46. Portanto, todas as instruções no shell script são inválidas: $1 = 5 $2 =
"My
Name"
Verifique se está funcionando ou não (?) $ demo $
demo Olá
Mundo
Observe também que você não pode atribuir o novo valor aos argumentos da linha de comando, ou seja, parâmetros posicionais.
Lar
Se o teste for bem-sucedido, copie o script para seu próprio diretório bin (instale o script para uso privado) $ cp
demo ~/bin
NOTA: Depois disso, para qualquer script você terá que usar o comando acima, em sequência, não vou mostrar todos os comandos acima
para o restante do Tutorial.
Execute-o e teste-o da seguinte
maneira: $ ./demo Hello World
Defina a permissão de execução da seguinte
forma: $ chmod 755 demo
Anterior
Acima
Próximo Redirecionamento de saída/entrada
padrão ieInput - Redirecionamento de sa
Processamento de linha de comando
http://www.cyberciti.biz/pdf/lsst/ch02sec14.html (3 de 3) [29/07/2002 18:52:05]
LSST v1.05r3 > Capítulo 2 > Por que argumentos de linha de comando são necessários
Machine Translated by Google
47. Existem três símbolos principais de redirecionamento >,>>,<
$ ls > nome do
arquivo Significa colocar a saída do comando ls no nome do arquivo.
Linux Shell Scripting Tutorial (LSST) v1.05r3 Capítulo 2: Introdução
à programação Shell
(1) > Sintaxe do símbolo do
redirecionador: comando Linux > nome
do arquivo Para gerar o resultado dos comandos Linux (saída do comando ou script shell) para o arquivo. Observe que se o arquivo já existir, ele
será sobrescrito, caso contrário, um novo arquivo será criado. Por exemplo, para enviar a saída do comando ls, dê $ ls > myfiles Agora, se
o arquivo 'myfiles'
existir em seu diretório atual, ele será sobrescrito sem qualquer tipo de aviso.
Crie um nome de arquivo de texto da seguinte maneira
Quase todos os comandos fornecem saída na tela ou recebem entrada do teclado, mas no Linux (e também em outros sistemas operacionais) é possível
enviar a saída para um arquivo ou ler a entrada do arquivo.
Clique aqui para saber mais sobre Redirecionamento de E/S
Você também pode usar os redirecionadores acima simultaneamente da seguinte maneira
Por
exemplo, o comando $ ls fornece saída para a tela; para enviar a saída para o arquivo do comando ls dê o comando
ele será aberto e novas informações/dados serão gravados no FIM do arquivo, sem perder os anteriores
,
(2) >> Sintaxe do símbolo do
redirecionador: comando Linux >> nome
do arquivo Para gerar o resultado dos comandos Linux (saída do comando ou script shell) para o FIM do arquivo. Observe que se o arquivo existir
informações/dados, e se o arquivo não existir, um novo arquivo será criado. Por exemplo, para enviar a saída do comando date para um
arquivo já existente, dê o comando $ date >> meus arquivos
Anterior
(3) < Sintaxe do símbolo do
redirecionador: comando Linux <nome
do arquivo Para obter entrada para o comando Linux do arquivo em vez do teclado. Por exemplo, para obter entrada para o comando cat, dê $ cat
<myfiles
Próximo
LSST v1.05r3 > Capítulo 2 > Redirecionamento de saída/entrada padrão, ou seja, redirecionamento de entrada - saída
http://www.cyberciti.biz/pdf/lsst/ch02sec15.html (1 de 2) [29/07/2002 18:52:06]
Entrada - Redirecionamento de saída
Redirecionamento de saída/entrada padrão, ou seja
Machine Translated by Google
48. O comando tr é usado para traduzir todos os caracteres minúsculos em letras maiúsculas. Ele recebe a entrada do arquivo
sname e a saída do tr é redirecionada para o arquivo cap_names.
BABU
$cat > sname
vivek
ashish
zebra
babu
Pressione CTRL + D para salvar.
Ponto Futuro: Tente seguir o comando e descubra o ponto mais importante: $ sort >
new_sorted_names <sname $ cat
new_sorted_names
CINZA
Próximo
Cano
ZEBRA
Lar
Experimente mais um exemplo para esclarecer
sua ideia: $ tr "[az]" "[AZ]" < sname > cap_names $
cat cap_names
VIVEK
Acima
Anterior
Agora emita o seguinte comando. $ sort
<sname> nomes_classificados $ cat
nomes_classificados
ashish
babu
vivek
zebra
No exemplo acima, o comando sort ($ sort <sname> sorted_names) recebe a entrada do arquivo sname e a saída do
comando sort (ou seja, nomes classificados) é redirecionada para o arquivo sorted_names.
Por que os argumentos da linha de comando são necessários
http://www.cyberciti.biz/pdf/lsst/ch02sec15.html (2 de 2) [29/07/2002 18:52:06]
LSST v1.05r3 > Capítulo 2 > Redirecionamento de saída/entrada padrão, ou seja, redirecionamento de entrada - saída
Machine Translated by Google
49. Comando usando Pipes
Exemplos:
Linux Shell Scripting Tutorial (LSST) v1.05r3 Capítulo 2:
Introdução à programação Shell
Significado ou uso de tubos A
saída do comando ls é fornecida como entrada para o
comando more, para que a saída seja impressa em uma página
inteira de tela por vez.
Pipe Definido como:
"Um pipe nada mais é do que um local de armazenamento temporário onde a saída de um comando é armazenada e depois
passada como entrada para o segundo comando. Pipes são usados para executar mais de dois comandos (vários comandos)
na mesma linha de comando. "
$ quem | wc-l
$ ls -l | wc-l
Sintaxe:
comando1 | comando2
$ quem | organizar
Um pipe é uma forma de conectar a saída de um programa à entrada de outro programa sem nenhum arquivo temporário.
$ quem | classificar> lista_usuários
A saída do comando who é fornecida como entrada para o
comando sort Para que ele imprima a lista classificada de
usuários O mesmo que acima, exceto que a saída do sort
é enviada para (redirecionado)
o arquivo user_list A saída do comando who é fornecida
como entrada para o comando wc Para que ele imprimir o
número do usuário
que faz logon no sistema A saída do comando ls é
fornecida como entrada para o comando wc Para que ele
imprima o número de arquivos no diretório atual.
Anterior
$ ls | mais
Próximo
LSST v1.05r3 > Capítulo 2 > Tubulações
http://www.cyberciti.biz/pdf/lsst/ch02sec16.html (1 de 2) [29/07/2002 18:52:08]
Tubos
Machine Translated by Google
50. ieInput - Redirecionamento de saída
determinado usuário está logado ou não)
Anterior Redirecionamento de saída/entrada padrão
Lar
nome se ele está logado ou nada está impresso (Ver
$ quem | grep raju
comando Para que ele imprima se um usuário específico
A saída do comando who é fornecida como entrada para grep
Acima
Próximo
Filtro
http://www.cyberciti.biz/pdf/lsst/ch02sec16.html (2 de 2) [29/07/2002 18:52:08]
LSST v1.05r3 > Capítulo 2 > Tubulações
Machine Translated by Google
51. contém da linha número 20 à linha número 30 e armazene esse resultado em um arquivo chamado 'hlist' e depois forneça
Suponha que você tenha um arquivo chamado 'hotel.txt' com dados de 100 linhas e de 'hotel.txt' você gostaria de imprimir
Tutorial de script de shell do Linux (LSST) v1.05r3
comando:
Aqui uniq é o filtro que recebe sua entrada do comando sort e passa essas linhas como entrada para uniq; Então
A saída do uniqs é redirecionada para o arquivo "u_sname".
Anterior
Se um comando do Linux aceitar sua entrada da entrada padrão e produzir sua saída na saída padrão
Considere mais um exemplo a seguir
O que são processos
$ sort < nome | uniq > seu_nome
é conhecido como filtro. Um filtro executa algum tipo de processo na entrada e fornece saída. Por exemplo.
linha número 20 de determinado arquivo, ou seja, hotel.txt) e passa essas linhas como entrada para head, cuja saída é
Próximo
Acima
Próximo
redirecionado para o arquivo 'hlist'.
$ tail +20 < hotel.txt | head -n30 >hlista
Capítulo 2: Introdução à programação Shell
Tubos
Lar
Aqui o comando head é o filtro que recebe sua entrada do comando tail (o comando tail começa a selecionar em
Anterior
http://www.cyberciti.biz/pdf/lsst/ch02sec17.html [29/07/2002 18:52:09]
LSST v1.05r3 > Capítulo 2 > Filtro
Filtro
Machine Translated by Google
52. processo.
Comando ls ou uma solicitação para listar arquivos em um diretório e todos os subdiretórios em seu diretório atual - é um
Tutorial de script de shell do Linux (LSST) v1.05r3
Processo definido como:
Próximo
Por que o processo é necessário
Processo é um tipo de programa ou tarefa realizada pelo seu PC. Por exemplo
Lar
Acima
$ ls -lR
Anterior
Próximo
Filtro
"Um processo é um programa (comando dado pelo usuário) para realizar um trabalho específico. No Linux, quando você inicia
Capítulo 2: Introdução à programação Shell
processo, fornece um número para processar (chamado PID ou process-id), o PID começa de 0 a 65535."
Anterior
http://www.cyberciti.biz/pdf/lsst/ch02sec18.html [29/07/2002 18:52:11]
LSST v1.05r3 > Capítulo 2 > O que são processos
O que são processos
Machine Translated by Google
53. $ls/-R | wc-l
comando como:
Tutorial de script de shell do Linux (LSST) v1.05r3
Este comando levará muito tempo para pesquisar todos os arquivos do seu sistema. Então você pode executar esse comando em
(PID), este PID pode ser usado para se referir a um processo específico em execução."
Anterior
O que são processos
Como você sabe, o Linux é um sistema operacional multiusuário e multitarefa. Isso significa que você pode executar mais de dois processos
Processo e PID definidos como:
"Uma instância do comando em execução é chamada de processo e o número impresso pelo shell é chamado de process-id
simultaneamente, se desejar. Por exemplo, para descobrir quantos arquivos você tem em seu sistema, você pode fornecer
O e comercial (&) no final do comando informa aos shells para iniciar o processo (ls / -R | wc -l) e executá-lo em
Anterior
Próximo
Comando(s) do Linux relacionados ao processo
Próximo
background executa o próximo comando imediatamente.
Em segundo plano ou simultaneamente, dando um comando como
Capítulo 2: Introdução à programação Shell
Lar
Acima
$ls/-R | wc -l&
http://www.cyberciti.biz/pdf/lsst/ch02sec19.html [29/07/2002 18:52:12]
LSST v1.05r3 > Capítulo 2 > Por que o processo é necessário
Por que o processo é necessário
Machine Translated by Google
54. Comando Linux relacionado ao processo
Em relação a esta situação, responda à seguinte questão:
process
Para interromper todos os processos, exceto seu shell kill
0 Para processamento em segundo plano (com &,
$ killall httpd
se o servidor web Apache
Próximo
e outras informações como memória
combinação com o comando grep
Você está trabalhando em sua estação de trabalho Linux (pode estar aprendendo LSST ou algum outro trabalho como enviar
Capítulo 2: Introdução à programação Shell
ps aux
kill process
Para parar processos por nome, ou seja, para matar
obs:
Tutorial de script de shell do Linux (LSST) v1.05r3
Para ver o processo atualmente em execução
Para parar qualquer processo por PID, ou seja, para
$ matar 1012
NOTA que você só pode encerrar processos criados por você. Um administrador quase pode matar
Use este comando
comando linux &
processos junto com os processos
Para ver se um determinado processo é
$ ps machado | grep httpd
machado ps | grep process-U-quer-ver
atualizações.
pstree
As tabelas a seguir são os comandos mais comumente usados com o processo:
programa em segundo plano)
$ matar 0
$ ps -ag
use para colocar um comando específico e
o processo está em execução ou não
e uso da CPU em tempo real
$pstree
e-mails, digitando carta), enquanto fazia esse trabalho você começou a reproduzir arquivos MP3 em sua estação de trabalho.
killall {Nome do processo} processo
Para obter
informações sobre todos os processos em execução
matar {PID}
Anterior
Por exemplo, você quer ver
Para ver os processos atualmente em execução
$ps aux
tem que usar o comando ps em
principal
Exercício:
$ps
$ls/-R | wc -l&
correndo ou não. Para este propósito você
Exemplos*
$ superior
Processo de 95-98%. Mas alguns processos não podem ser eliminados, como o processo VDU.
Para exibir uma árvore de processos
* Para executar parte deste comando você precisa ser usuário root ou equivalente.
Para este propósito
Para exibir o proprietário do
ps-ag
então dê o comando
http://www.cyberciti.biz/pdf/lsst/ch02sec20.html (1 de 2) [29/07/2002 18:52:14]
LSST v1.05r3 > Capítulo 3 > Comando Linux relacionado ao processo
Veja a saída do comando superior.
comando pressione q.
Observe que para sair do topo
Machine Translated by Google
55. Por que o processo é necessário
4) Você não deseja ouvir música (arquivos MP3), mas deseja continuar com outro trabalho no PC, você executará uma das seguintes ações: 1.
Desligue os alto-falantes 2. Desligue o
computador / desligue o
sistema operacional Linux 3. Mate o processo de reprodução
de MP3 4. Nenhuma das opções acima
Anterior Lar
2) Como você descobrirá o processo de execução (reprodução de MP3 e digitação de letras)?
Clique aqui para obter respostas.
3) "Atualmente apenas dois processos estão rodando em seu ambiente Linux/PC", É Verdadeiro ou Falso?, E como você irá verificar isso?
1) É um exemplo de multitarefa?
Acima
Próximo
Construções
Linguagem estruturada Shells (bash)
LSST v1.05r3 > Capítulo 3 > Comando Linux relacionado ao processo
http://www.cyberciti.biz/pdf/lsst/ch02sec20.html (2 de 2) [29/07/2002 18:52:14]
Machine Translated by Google
56. decisões. O que o computador sabe é 0 (zero) e 1 que é Sim ou Não. Para deixar essa ideia clara, vamos jogar
5/2
mostrando 0 (Zero). Lembre-se de que em bc, a expressão relacional sempre retorna verdadeiro (1) ou falso (0 - zero).
Anterior
5 é igual a 10
5 == 10
Significado para nós Resposta do BC
Capítulo 3: Construções de linguagem estruturada de shells (bash)
Existe alguma diferença na tomada de decisões na vida real e nos computadores? Bem, as decisões da vida real são bastante
7 é a resposta de bc, ou seja, adição de 5 + 2, você pode até tentar
0
Tutorial de script de shell do Linux (LSST) v1.05r3
• Ciclos
7
construções de linguagem como:
1 (Um?) é a resposta de bc, Como? bc compare 5 com 2, pois 5 é maior que 2, (se eu fizer a mesma pergunta para
digite 5 + 2 como:
5! = 2
NÃO
5 > 12
Expressão 5
> 12
0
Tomar decisões é uma parte importante na vida do ONCE, bem como no programa orientado pela lógica dos computadores. Na verdade
$bc
5 > 2
Veja o que aconteceu se você digitar 5 > 2 da seguinte maneira
Próximo
algum jogo (UAU!) com bc - programa de calculadora Linux.
Tente seguir o bc para esclarecer sua ideia e não anular a resposta do bc
5 NÃO é igual a 2
0
complicado para todos nós e os computadores ainda não têm tanto poder para entender nossa vida real
5 - 2
0 (Zero) indica falso, ou seja, 5 é menor que 2?, Sua resposta será não, o que é indicado por bc por
5 é maior que 12
5! = 2
5 <2
12 <2
SIM
5 + 2
você, sua resposta será SIM), bc dá esta resposta 'SIM' mostrando 1 valor. Agora tente
5 == 5
• Tomada de decisão
NÃO
sua Resposta
1
a lógica não é LÓGICA até que você use a tomada de decisão. Este capítulo apresenta a estrutura estruturada do bash
Depois que este comando bc for iniciado e aguardando seus comandos, ou seja, faça alguns cálculos como segue
1
5 == 10
LSST v1.05r3 > Capítulo 3 > Introdução
http://www.cyberciti.biz/pdf/lsst/ch03.html (1 de 2) [29/07/2002 18:52:15]
Introdução
Machine Translated by Google
57. Significado
Valor
Anterior
1 é menor que 2
1 < 2
No valor do shell do Linux
não zero
0
5 == 5
1
Não/Falso
Sim
Falso/Não
-1, 32, 55 tudo menos
Próximo
Lar
e NÃO é outro.
Exemplo
Mostrado no Linux Shell como
Mostrado em bc como
Significa que sempre que houver algum tipo de comparação no Linux Shell dá apenas duas respostas, uma é SIM
Sim, verdade
Comando(s) do Linux relacionados ao processo
5 é igual a 5
Lembre-se de que tanto o bc quanto o Linux Shell usam maneiras diferentes de mostrar valores Verdadeiro/ Falso
Valor Zero (0)
Valor diferente de zero
0
Valor diferente de zero
1
se condição
1
SIM
0
Verdadeiro/Sim
Acima
http://www.cyberciti.biz/pdf/lsst/ch03.html (2 de 2) [29/07/2002 18:52:15]
LSST v1.05r3 > Capítulo 3 > Introdução
Machine Translated by Google
58. comando1 se a condição for verdadeira ou se o status de saída da condição for 0 (zero)
então
Tutorial de script de shell do Linux (LSST) v1.05r3
Capítulo 3: Construções de linguagem estruturada de shells (bash)
...
Digite os seguintes comandos (supõe que você tenha um arquivo chamado
foo) $ cat
foo $ echo $?
O comando cat retorna zero (0), ou seja, status de saída, em caso de sucesso, isso pode ser usado, na condição if a seguir,
Escreva o script shell como
Sintaxe:
Expressão é definida como:
"Uma expressão nada mais é do que uma combinação de valores, operadores relacionais (como >,<, <>
etc) e operadores matemáticos (como +, -, / etc)."
A seguir estão todos os exemplos de expressão: 5
> 2 3
+ 6 3
* 65 a
< bc
> 5 c
> 5 + 30 -1
se condição
Condição é definida como:
"Condição nada mais é do que comparação entre dois valores."
se a condição usada para tomada de decisão no shell script, se a condição fornecida for verdadeira, o comando1 será executado.
Para compactação, você pode usar instruções test ou [expr] ou até mesmo o status existente também pode ser usado.
...
Anterior Próximo
fi
http://www.cyberciti.biz/pdf/lsst/ch03sec01.html (1 de 3) [29/07/2002 18:52:16]
LSST v1.05r3 > Capítulo 3 > se condição
se condição
Machine Translated by Google
59. # Script para testar o comando rm e status existente # if rm $1
gato > trmif #
$ cat > showfile #!/bin/sh #
#Script para
imprimir o arquivo # if cat $1
então
Anterior Lar Próximo
Exercício
(C) E se você digitar $ ./trmfi Qual será a saída?
Para resposta clique aqui.
Escreva o script shell da seguinte maneira:
Responda à seguinte pergunta com referência ao script acima: (A) o arquivo
foo existe em seu disco e você dá o comando, $ ./trmfi foo qual será a saída?
Execute o script acima
como: $ chmod 755 showfile
$./showfile foo O
nome do script do shell é showfile ($0) e foo é o argumento (que é $1). Em seguida, compare-o como segue: if cat $1 que é expandido
para if cat foo.
Explicação detalhada se o
comando cat encontrar o arquivo foo e se for mostrado com sucesso na tela, significa que nosso comando cat foi bem-sucedido
e seu status de existência é 0 (indica sucesso). Portanto, nossa condição if também é verdadeira e, portanto, a instrução echo -e "n
nArquivo $1, encontrado e ecoado com sucesso" é processado pelo shell. Agora, se o comando cat não for bem-sucedido, ele
retornará um valor diferente de zero (indica algum tipo de falha) e esta instrução echo -e "nnArquivo $1, encontrado e ecoado
com sucesso" será ignorada pelo nosso shell.
(B) Se o arquivo bar não estiver presente em seu disco e você der o comando $ ./trmfi bar , o que será gerado?
echo "$1 arquivo excluído" fi
então
echo -e "nnArquivo $1, encontrado e ecoado com sucesso" fi
Pressione Ctrl + d para
salvar $ chmod 755 trmif
http://www.cyberciti.biz/pdf/lsst/ch03sec01.html (2 de 3) [29/07/2002 18:52:16]
LSST v1.05r3 > Capítulo 3 > se condição
Machine Translated by Google
60. Acima
Construções
Linguagem estruturada Shells (bash)
comando de teste ou [expr]
http://www.cyberciti.biz/pdf/lsst/ch03sec01.html (3 de 3) [29/07/2002 18:52:16]
LSST v1.05r3 > Capítulo 3 > se condição
Machine Translated by Google
61. echo "$1 número é positivo" fi
$ cat > ispositivo #!/bin/sh # # Script
para ver se o
argumento é positivo # if test $1 -gt 0 then
Tutorial de script de shell do Linux (LSST) v1.05r3
Capítulo 3: Construções de linguagem estruturada de shells (bash)
Execute-o da seguinte
maneira: $ chmod 755 ispostive
,
para evitar tal erro, podemos testar se o argumento da linha de comando
,
Sintaxe:
expressão de teste OU [expressão]
Explicação detalhada
A linha, if test $1 -gt 0 test para ver se o primeiro argumento da linha de comando ($1) é maior que 0. Se for verdadeiro
(0), então o teste retornará 0 e a saída será impressa como 5, o número é positivo, mas para Argumento -45, não há
saída porque nossa condição não é verdadeira (0) (nenhum -45 não é maior que 0), portanto, a instrução echo é ignorada.
E para a última instrução não fornecemos nenhum argumento, portanto, erro ./ispostive: test: -gt: operador unário
esperado, é gerado pelo shell é fornecido ou
não.
Exemplo:
o script a seguir determina se o número do argumento fornecido é positivo.
Nada é impresso
O comando test ou [expr] é usado para ver se uma expressão é verdadeira e, se for verdadeira, retorna zero (0), caso contrário,
retorna diferente de zero para falso.
$ispostive ./
ispostive: teste: -gt: operador unário esperado
$ ispostive 5
5 número é positivo
Anterior
test ou [expr] funciona com
1.Integer (Número sem ponto decimal)
2.Tipos de arquivo
3.Sequências de caracteres
Próximo
$ispositivo -45
http://www.cyberciti.biz/pdf/lsst/ch03sec02.html (1 de 3) [29/07/2002 18:52:17]
LSST v1.05r3 > Capítulo 3 > comando de teste ou [expr]
comando de teste ou [expr]
Machine Translated by Google
62. Shell também testa tipos de arquivos e diretórios
declaração com
Operadores lógicos são usados para combinar duas ou mais condições ao mesmo tempo
string1 string1 NÃO é NULL ou não está definida -n string1 string1 NÃO
é NULL e existe
-ge
-d diretório
se [5 -ne 6]
ou igual a
Lógico NÃO
Significado
Para comparações de strings, use
-ne
Aritmética Normal/
É um arquivo gravável
-x arquivo
se [5 -ge 6]
se teste 5 -gt 6
declaração com
-w arquivo
se [5 -le 6]
se [5 -lt 6]
se comando
É um arquivo somente leitura
Significado do Operador
Matemático
-lt
se teste 5 -ge 6
se comando
Teste
Lógico E
é igual a não
é igual a 5! = 6 é menor que
5 <6
Matemático
Arquivo não vazio
5 <= 6
se [5 -gt6]
Significado
-r arquivo
O arquivo é executável
string1 = string2 string1 é igual a string2
-le
Declarações
O arquivo existe ou é um arquivo normal e não um diretório
-s arquivo
é menor que ou
se teste 5 -eq 6
se teste 5 -ne 6
-z string1 string1 é NULL e existe
se teste 5 -lt 6
5 == 6
Operador no Shell
5 >= 6
Operador !
expressão
expressão1 -uma expressão2
Operadores lógicos
-gt
Para teste
Para matemática, use o seguinte operador no Shell Script
Mas na Shell
string1 != string2 string1 NÃO é igual a string2
-f arquivo
igual a é
maior que 5 > 6 é maior que
se [5 -eq 6]
NOTA: == é igual, != não é igual.
-eq
Roteiro
O diretório existe e não é um arquivo
Para [expr]
se teste 5 -le 6
Significado
LSST v1.05r3 > Capítulo 3 > comando de teste ou [expr]
http://www.cyberciti.biz/pdf/lsst/ch03sec02.html (2 de 3) [29/07/2002 18:52:17]
Machine Translated by Google
63. Próximo
comando)
Acima se...senão...fi
Anterior Tomada de decisão em shell script (ou seja, se
Lar
OU lógico
expressão1 -o expressão2
http://www.cyberciti.biz/pdf/lsst/ch03sec02.html (3 de 3) [29/07/2002 18:52:17]
LSST v1.05r3 > Capítulo 3 > comando de teste ou [expr]
Machine Translated by Google
64. a condição é zero (verdadeiro - 0) execute todos os
comandos até a instrução else
então
Tutorial de script de shell do Linux (LSST) v1.05r3
Capítulo 3: Construções de linguagem estruturada de shells (bash)
se a condição não for verdadeira, execute todos os
comandos até fi
echo "$1 número é positivo" else
echo "$1 número é negativo" fi
Experimente da seguinte
maneira: $ chmod 755 isnump_n
Próximo
echo "$0: Você deve fornecer/fornecer um número inteiro" exit 1 fi
se testar $1 -gt 0 então
se condição
Por exemplo, escreva o script da seguinte maneira:
Sintaxe:
Anterior
$ vi isnump_n #!/bin/sh # #
Script para ver se
o
argumento é positivo ou negativo # if [ $# -eq 0 ] then
outro
$ isnump_n 5 5
número é positivo
$ isnump_n -45
Se a condição fornecida for verdadeira, o comando1 será executado, caso contrário, o comando2 será executado.
fi
http://www.cyberciti.biz/pdf/lsst/ch03sec03.html (1 de 4) [29/07/2002 18:52:18]
LSST v1.05r3 > Capítulo 3 > if...else...fi
se...senão...fi
Machine Translated by Google
65. A última amostra executada $ isnump_n 0 fornece a saída como "0 número é negativo", porque o argumento fornecido não é> 0, portanto,
a condição é falsa e é considerada um número negativo. Para evitar isso, substitua a segunda instrução if por if test $1 -ge 0.
-45 número é negativo
Você pode escrever toda a construção if-else no corpo da instrução if ou no corpo de uma instrução else. Isso é chamado de aninhamento
de ifs.
| | 2
echo "Você escolhe Unix (Sun Os)"
else #### aninhado if, ou seja, se dentro de if ######
1 imprimirá o nome do script 2
imprimirá esta mensagem de erro E,
finalmente, a instrução exit 1 causa o encerramento normal do programa com status de saída 1 (diferente de zero significa que o
script não foi executado com êxito).
se [$osch -eq 1]
Explicação detalhada O
primeiro script verifica se o argumento da linha de comando é fornecido ou não, se não for fornecido, ele imprime a mensagem de
erro como "./ ispos_n: Você deve fornecer/ fornecer um número inteiro". A instrução if verifica se o número de argumentos ($#)
passados para o script não é igual (-eq) a 0, se passamos algum argumento para o script, então esta instrução if é falsa e se nenhum
argumento de linha de comando for fornecido, então esta instrução if é verdadeiro. O comando echo, ou seja, echo "$0: Você deve
fornecer/fornecer
um número inteiro"
| | 1
; então
$ vi nestedif.sh osch=0
$ isnump_n ./
ispos_n : Você deve fornecer/ fornecer um número inteiro
echo "1. Unix (Sun Os)" echo "2. Linux (Red
Hat)" echo -n "Selecione sua escolha de sistema
operacional [1 ou 2]?" leia osch
$ isnump_n 0 0
número é negativo
http://www.cyberciti.biz/pdf/lsst/ch03sec03.html (2 de 4) [29/07/2002 18:52:18]
LSST v1.05r3 > Capítulo 3 > if...else...fi
If-else-fi aninhado
Machine Translated by Google
66. $ ./nestedif.sh
1. Unix (Sun Os)
então
outro
echo "O que você não gosta do sistema operacional Unix/Linux."
; então
ecoe "Você escolhe Linux (Red Hat)"
2. Linux (Chapéu Vermelho)
então
fazem isto
se [$osch -eq 2]
$ ./nestedif.sh
1. Unix (Sun Os)
se condição
2. Linux (Chapéu Vermelho)
outro
Você também pode usar os ifs aninhados da seguinte maneira:
fi
Selecione sua opção [1 ou 2]? 3 O que
você não gosta do sistema operacional Unix/ Linux.
..
.....
fi
2. Linux (Chapéu Vermelho)
outro
se condição
Selecione sua opção [1 ou 2]? 2
Você escolhe Linux (Red Hat)
fi
..
Sintaxe:
....
Selecione sua opção [1 ou 2]? 1
Você escolhe Unix (Sun Os)
Execute o script de shell acima da seguinte
maneira: $ chmod +x
nestedif.sh $ ./
nestedif.sh 1. Unix (Sun Os)
Observe que a segunda construção if-else está aninhada na primeira instrução else . Se a condição na primeira instrução
if for falsa, a condição na segunda instrução if será verificada. Se também for falso, a instrução else final será executada.
fazem isto
http://www.cyberciti.biz/pdf/lsst/ch03sec03.html (3 de 4) [29/07/2002 18:52:18]
LSST v1.05r3 > Capítulo 3 > if...else...fi
Machine Translated by Google
67. Acima
fi
Lar Próximo
fazem isto
Comando de teste anterior ou [expr]
.....
...
Multinível if-then-else
http://www.cyberciti.biz/pdf/lsst/ch03sec03.html (4 de 4) [29/07/2002 18:52:18]
LSST v1.05r3 > Capítulo 3 > if...else...fi
Machine Translated by Google
68. condição de Elif1
a condição é zero (verdadeiro - 0) execute todos os
comandos até a instrução elif
Tutorial de script de shell do Linux (LSST) v1.05r3
Capítulo 3: Construções de linguagem estruturada de shells (bash)
então
fi
Para instrução if-then-else multinível, tente o seguinte script:
$ cat > elf # #!/bin/sh
# Script para
testar if..elif...else # if [ $1 -gt 0 ]; então
se condição
outro
Nenhuma das condições acima, condição1, condição2 são verdadeiras (ou seja, todas as anteriores diferentes de zero
ou falsas) execute todos os comandos até fi
então
então
Próximo
Sintaxe:
condição2 é zero (verdadeiro - 0) execute todos os
comandos até a instrução elif
condição1 é zero (verdadeiro - 0) execute todos os
comandos até a instrução elif
echo "$1 é positivo" elif [ $1 -lt 0 ] então
echo "$1 é negativo" elif [ $1 -eq
0 ] então
echo "$1 é zero" else echo "Ops! $1 não é
número, dê o número" fi
Tente o script acima da seguinte
maneira: $ chmod
755 elf
$ ./elf 1
$ ./elf -2
$ ./elf 0
$ ./elf a Aqui o/p para a última
execução de amostra: ./elf: [: -gt: unary
operador esperado ./elf: [: -lt: operador
unário esperado ./elf: [: -eq: operador unário
esperado Ops! a não é número, dê o número
condição de Elif2
Anterior
http://www.cyberciti.biz/pdf/lsst/ch03sec04.html (1 de 2) [29/07/2002 18:52:19]
LSST v1.05r3 > Capítulo 3 > Multinível if-then-else
Multinível if-then-else
Machine Translated by Google
69. Anterior if...else...fi Acima
esperado" ocorre, mas ainda assim nosso programa notifica esse erro ao usuário fornecendo a mensagem "Opps! a não é um número, dê um número".
O programa acima apresenta erro na última execução, aqui a comparação de inteiros é esperada, portanto, erros como "./ elf: [: -gt: operador unário
Loops em scripts de shell
Lar Próximo
LSST v1.05r3 > Capítulo 3 > Multinível if-then-else
http://www.cyberciti.biz/pdf/lsst/ch03sec04.html (2 de 2) [29/07/2002 18:52:19]
Machine Translated by Google
70. Bash suporta:
grupo de instruções que é executado repetidamente é chamado de loop."
Tutorial de script de shell do Linux (LSST) v1.05r3
• loop for
Multinível if-then-else
Lar
Acima
Laço definido como:
(c) O corpo do loop termina com uma instrução que modifica o valor da variável de teste (condição).
Anterior
“O computador pode repetir instruções específicas continuamente, até que uma condição específica seja satisfeita.
(a) Primeiro, a variável usada na condição do loop deve ser inicializada e, em seguida, a execução do loop começa.
Anterior Próximo
(b) Um teste (condição) é feito no início de cada iteração.
• ciclo while
Capítulo 3: Construções de linguagem estruturada de shells (bash)
Próximo
para loop
Observe que em cada loop,
http://www.cyberciti.biz/pdf/lsst/ch03sec05.html [29/07/2002 18:52:23]
LSST v1.05r3 > Capítulo 3 > Loops em Shell Scripts
Loops em scripts de shell
Machine Translated by Google
71. Sintaxe:
execute um para cada item da lista até que a lista não termine (e repita todas as instruções entre do e done)
feito
$ cat > mtable #!/bin/sh #
#Script para testar
o
loop # # if [ $# -eq 0 ] then echo "Erro - Número
faltando no argumento da linha
de
comando do formulário" echo "Sintaxe: $0 número" echo "Use para imprimir tabela de multiplicação para determinado
número" exit 1 fi n=$1 for i in 1 2 3 4 5 6 7 8 9 10 do
echo "$n * $i = `expr $i * $n`" pronto
Próximo
para {nome da variável} em {lista} faça
Anterior
Tutorial de script de shell do Linux (LSST) v1.05r3 Capítulo 3:
Construções de linguagem estruturada de shells (bash)
$ cat > testfor for i in 1 2 3 4
5 do echo "Bem-vindo $i vezes"
concluído
Execute o script acima da seguinte
maneira: $ chmod +x
testfor $ ./
testfor O loop for primeiro cria a variável i e atribui um número a i da lista de números de 1 a 5. O shell executa a instrução echo para cada atribuição de i.
(Isso geralmente é conhecido como iteração) Este processo continuará até que todos os itens da lista sejam concluídos, por isso repetirá 5 instruções de eco.
Para deixar sua ideia mais clara, tente o seguinte script:
Antes de tentar entender a sintaxe acima, tente o seguinte script:
Salve o script acima e execute-o como:
$ chmod 755 mtable $ ./
mtable 7 $ ./
mtable Para
a primeira execução, o script acima imprime a tabela de multiplicação de um determinado número onde i = 1,2 ... 10 é multiplicado por determinado n (aqui
LSST v1.05r3 > Capítulo 3 > Loop for
http://www.cyberciti.biz/pdf/lsst/ch03sec06.html (1 de 5) [29/07/2002 18:52:26]
para Loop
Machine Translated by Google
72. para ((expr1; expr2; expr3)) faça
Sintaxe:
argumento de linha de comando 7) para produzir a tabuada como 7 * 1 = 7 7 * 2 =
14
.....
$ cat > for2
for (( i = 0 ; i <= 5; i++ )) do echo
"Bem-vindo $i vezes" concluído
Execute o script acima da seguinte
maneira: $ chmod +x
for2 $ ./
for2 Bem-vindo 0
vezes Bem-vindo 1
vezes Bem-vindo 2
vezes Bem-vindo 3
vezes Bem-vindo 4
vezes Bem-vindo 5 vezes
No exemplo acima, a primeira expressão (i = 0) é usada para definir a variável de valor i como zero.
Observe que para encerrar nosso script usamos o comando 'exit 1' que leva 1 como argumento (1 indica erro e, portanto, o script foi encerrado)
Todas as instruções entre do e done são executadas repetidamente ATÉ que o valor de expr2 seja TRUE.
APÓS cada iteração do loop, expr3 é avaliado. Isso geralmente é usado para incrementar um contador de loop.
Até você pode usar a seguinte sintaxe:
Feito
7 * 10 = 70 E
para a segunda execução de teste, ele imprimirá a
mensagem - Erro - Número faltando no formulário argumento da linha
de comando Sintaxe: ./mtable
number Use para imprimir a tabela de multiplicação para um determinado número
Isso aconteceu porque não fornecemos o número para o qual desejamos a tabuada. Portanto, o script está mostrando mensagem de erro,
sintaxe e uso do nosso script. É uma boa ideia se nosso programa receber algum argumento, informar ao usuário qual é a utilização do script
e como usá-lo.
Na sintaxe acima ANTES da primeira iteração, expr1 é avaliado. Isso geralmente é usado para inicializar variáveis para o loop.
...
...
A segunda expressão é a condição, ou seja, todas as instruções entre do e done executadas desde que a expressão 2 (ou seja,
continue enquanto o valor da variável i for menor ou equivalente a 5) for TRUE.
A última expressão i++ incrementa o valor de i em 1, ou seja, é equivalente à instrução i = i + 1.
..
repita todas as instruções entre do e done até que expr2 seja
TRUE
http://www.cyberciti.biz/pdf/lsst/ch03sec06.html (2 de 5) [29/07/2002 18:52:26]
LSST v1.05r3 > Capítulo 3 > Loop for
Machine Translated by Google
73. Aninhamento de for Loop
http://www.cyberciti.biz/pdf/lsst/ch03sec06.html (3 de 5) [29/07/2002 18:52:26]
LSST v1.05r3 > Capítulo 3 > Loop for
feito
echo "" #### imprime a nova linha ###
Execute o script acima da seguinte forma:
$ chmod +x nestedfor.sh $ ./
nestefor.sh 1 1 1
1 1 2 2 2 2
2 3 3 3 3 3
4 4 4 4 4 5
5 5 5 5
fi
echo -e -n "033[40m" #### volta a cor de fundo para preto echo "" #### imprime a nova linha ### pronto
feito
eco -n "$i"
tot=`expr $i + $j` tmp=`expr $tot % 2`
se [ $tmp -eq 0 ]; então
echo -e -n "033[47m " senão echo -e -n
"033[40m "
feito
$ vi tabuleiro de xadrez for (( i
= 1; i <= 9; i++ )) ### Outer for loop ### do
### Loop for externo ###
for (( j = 1 ; j <= 5; j++ )) ### Loop for interno ### do
for (( j = 1 ; j <= 9; j++ )) ### Loop for interno ### do
Aqui, para cada valor de i, o loop interno é alternado 5 vezes, com a variável j assumindo valores de 1 a 5. O loop
for interno termina quando o valor de j excede 5, e o loop externo termina quando o valor de i excede 5.
Como você pode ver, a instrução if pode ser aninhada, da mesma forma, a instrução de loop pode ser aninhada. Você pode aninhar o loop for. Para
entender o aninhamento do loop for, consulte o script de shell a seguir.
Execute o script acima da seguinte
maneira: $ chmod +x tabuleiro
de xadrez $ ./chessboard
$ vi nestedfor.sh for (( i = 1; i <= 5;
i++ )) fazer
O script a seguir é bastante interessante, pois imprime o tabuleiro de xadrez na tela.
Machine Translated by Google
74. para (( j = 1 ; j <= 9; j++ )) faça
para (( i = 1; i <= 9; i++ )) faça
No meu terminal acima, o script produz a saída da seguinte forma:
tot=`expr $i + $j`
tmp=`expr $tot % 2` se
[ $tmp -eq 0 ]; então
O fim do loop externo e os scripts de shell são encerrados com a impressão
do tabuleiro de xadrez.
Exercício
Tente entender os scripts shell (for loops) mostrados no capítulo do exercício.
feito
Se a posição do número par imprimir o bloco de cor branca (usando
a instrução echo -e -n "033[47m " ); caso contrário, para uma posição
ímpar, imprima a caixa de cor preta (usando a instrução echo -e -n
"033[40m " ). Estas declarações são responsáveis por imprimir todo o
tabuleiro de xadrez na tela com cores alternativas.
eco "" Imprima a linha em branco
Fim do loop interno
Certifique-se de que seu fundo seja preto, como sempre fazemos em
nossos terminais.
feito
Explicação
Comece o loop externo que é executado 9 vezes, e o loop externo
termina quando o valor de i excede 9 Inicia o loop
interno, para cada valor de i o loop interno é alternado 9 vezes, com a
variável j assumindo valores de 1 para 9. O loop for interno termina
quando o valor de j excede 9.
Veja as posições de números pares e ímpares usando essas instruções.
eco -e -n "033[40m"
echo -e -n "033[47m " senão
echo
-e -n "033[40m "
O script de shell acima pode ser explicado da seguinte forma:
Comando(s)/Declarações
fi
LSST v1.05r3 > Capítulo 3 > Loop for
http://www.cyberciti.biz/pdf/lsst/ch03sec06.html (4 de 5) [29/07/2002 18:52:26]
Machine Translated by Google
75. Loops em scripts de shell
Próximo
Lar
Anterior
Acima enquanto loop
http://www.cyberciti.biz/pdf/lsst/ch03sec06.html (5 de 5) [29/07/2002 18:52:26]
LSST v1.05r3 > Capítulo 3 > Loop for
Machine Translated by Google
76. ....
..
Tutorial de script de shell do Linux (LSST) v1.05r3
Capítulo 3: Construções de linguagem estruturada de shells (bash)
feito
Salve-o e tente
como $ chmod 755
nt1 $./
nt1 7 O loop acima pode ser explicado da seguinte forma:
enquanto [condição] faça
exit 1 fi n=$1
i=1
enquanto
[ $i
-le 10 ] faça
echo "$n * $i = `expr $i * $n`" i=`expr $i + 1` concluído
comando1
comando2
comando3
echo "Erro - Número faltando no argumento da linha de comando do formulário" echo
"Sintaxe: $0 número"
Próximo
Sintaxe:
Use para imprimir a tabuada de multiplicação para um determinado número" echo "
O loop é executado enquanto a condição dada for verdadeira. Por exemplo. O programa for loop acima (mostrado na
última seção do loop for) pode ser escrito usando o loop while como:
$cat > nt1 #!/bin/sh
# #Script para
testar a instrução while # # if [ $# -eq 0 ] then
Anterior
http://www.cyberciti.biz/pdf/lsst/ch03sec07.html (1 de 2) [29/07/2002 18:52:28]
LSST v1.05r3 > Capítulo 3 > A declaração do caso
enquanto loop
Machine Translated by Google
77. enquanto [$i -le 10]
o programa só produzirá
feito
Esta é a nossa condição de loop, aqui se o valor de i for menor
variável (Aqui está definido como 7 )
n=$1
Cuidado: Se você ignorar (remover) esta instrução, nosso loop
se tornará um loop infinito porque o valor
condição do loop não é verdadeira. Por isso
Defina o valor do argumento da linha de comando como
7 * 2 = 14
Aumente i em 1 e armazene o resultado em i. (ou seja, eu = eu + 1)
Imprimir tabela de multiplicação como
...
7 * 10 = 70, aqui cada valor de tempo da variável n é
Próximo
Lar
fazer e pronto
echo "$n * $i = `expr $i * $n`"
i=`expr $i + 1`
7 * 1 = 7
maior que 10 então, o shell executa todas as instruções entre
fazer
Anterior para loop
Defina a variável i como 1
da variável i sempre permanece menor que 10 e
eu=1
o loop é encerrado.
O loop para aqui se i não for menor que 10, ou seja
multiplique seja eu.
E (vezes infinitas)
A declaração do caso
7 * 1 = 7
Iniciar ciclo
....
...
Acima
http://www.cyberciti.biz/pdf/lsst/ch03sec07.html (2 de 2) [29/07/2002 18:52:28]
LSST v1.05r3 > Capítulo 3 > A declaração do caso
Machine Translated by Google
78. ..
aluguel="*** Veículo desconhecido ***" elif [ -n $1 ] then
...
Tutorial de script de shell do Linux (LSST) v1.05r3
Capítulo 3: Construções de linguagem estruturada de shells (bash)
comando;;
comando padrão2)
comando;;
comando
*)
...
# caso contrário, faça o primeiro argumento como aluguel
Sintaxe:
...
$ cat > car # # se
nenhum nome de veículo for fornecido # ou seja, -z
$1 é definido e é NULL # # se nenhum argumento de linha de comando
..
case $ nome da variável no comando
padrão1)
se [-z $1] então
comando;;
Próximo
esac
O $variable-name é comparado com os padrões até que uma correspondência seja encontrada. O shell então executa todas as
instruções até os dois pontos e vírgulas próximos um do outro. O padrão é *) e será executado se nenhuma correspondência
for encontrada. Por exemplo, escreva o script da seguinte forma:
A instrução case é uma boa alternativa à instrução multinível if-then-else-fi. Ele permite que você combine vários
valores com uma variável. É mais fácil ler e escrever.
comando padrãoN)
...
..
comando;;
Anterior
..
http://www.cyberciti.biz/pdf/lsst/ch03sec08.html (1 de 2) [29/07/2002 18:52:32]
LSST v1.05r3 > Capítulo 3 > A declaração do caso
A declaração do caso
Machine Translated by Google
79. Para o segundo teste, imprima "Para carro Rs.20 por km/ m".
Salve-o pressionando CTRL+D e execute-o da seguinte forma:
$ chmod +x car $
car van $
car car $
car Maruti-800
Para o primeiro teste, combine com a van e mostrará a saída "Para van Rs.10 por km/ m."
Anterior while loop
esac
O primeiro script verificará se $1 (primeiro argumento da linha de comando) é fornecido ou não, se NÃO for fornecido, defina o valor da variável de
aluguel como "*** Veículo desconhecido ***", se o argumento da linha de comando for fornecido/fornece o valor definido de variável de aluguel para
determinado valor (linha de comando arg). O aluguel $ é comparado com os padrões até que uma correspondência seja encontrada.
case $aluguel em "carro")
echo "Por $aluguel Rs.20 por km/m";; "van") echo "Por $ aluguel Rs.10 por
km/m";; "jipe") echo "Por $ aluguel Rs.5 por km/m";; "bicicleta") echo "Por
$aluguel 20 paisa por km/m";; *) echo "Desculpe, não consigo alugar $ para
você";;
aluguel = $ 1 fi
Lar
Observe que esac é sempre necessário para indicar a declaração de fim de caso.
E para a última execução, não há correspondência para Maruti-800, portanto, o padrão, ou seja, *) é executado e imprime: "Desculpe,
não consigo obter um Maruti-800 para você".
Acima Próximo Como depurar o shell script?
Veja mais um exemplo de instrução case no capítulo 4 da seção comando shift.
http://www.cyberciti.biz/pdf/lsst/ch03sec08.html (2 de 2) [29/07/2002 18:52:32]
LSST v1.05r3 > Capítulo 3 > A declaração do caso
Machine Translated by Google
80. A opção pode
ser -v Imprimir linhas de entrada do shell à medida
que são lidas. -x Depois de expandir cada comando simples, o bash exibe o valor expandido da variável do sistema PS4,
seguido pelo comando e seus argumentos expandidos.
OU
opção bash {shell-script-name}
Exemplo:
$ cat > dsh1.sh # #
Script para mostrar a depuração do shell
#
tot=`expr $1 + $2` echo
$tot
Anterior
Ao programar o shell, às vezes você precisa encontrar os erros (bugs) no script do shell e corrigi-los (remover erros - depurar).
Para este propósito, você pode usar as opções -v e -x com o comando sh ou bash para depurar o script de shell. A sintaxe geral
é a seguinte: Sintaxe: sh option {shell-script-name }
Próximo
Tutorial de script de shell do Linux (LSST) v1.05r3 Capítulo
3: Construções de linguagem estruturada de shells (bash)
Pressione ctrl + d para salvar e execute-o
como $ chmod 755 dsh1.sh
$ ./dsh1.sh 4 5 9
$
sh -x dsh1.sh 4 5 # #
Script para mostrar a depuração do shell
#
tot=`expr $1 + $2` expr
$1 + $2 ++ expr
4 + 5 + tot=9 echo
$tot +
echo 9 9
Veja a saída acima, -x mostra os valores exatos das variáveis (ou as instruções são mostradas na tela com valores).
LSST v1.05r3 > Capítulo 3 > Como depurar o shell script?
http://www.cyberciti.biz/pdf/lsst/ch03sec09.html (1 de 2) [29/07/2002 18:52:33]
Como depurar o shell script?
Machine Translated by Google
81. Próximo
A declaração do caso Acima
Anterior Lar
Use a opção -v para depurar scripts de shell complexos.
$ sh -v dsh1.sh 4 5
Script avançado de shell
http://www.cyberciti.biz/pdf/lsst/ch03sec09.html (2 de 2) [29/07/2002 18:52:33]
LSST v1.05r3 > Capítulo 3 > Como depurar o shell script?
Machine Translated by Google
82. • Interface do usuário
• Funções
Tutorial de script de shell do Linux (LSST) v1.05r3
• Execução condicional
Acima
Próximo
/dev/null - para enviar saída indesejada de
Depois de aprender a base do script de shell, é hora de aprender mais recursos avançados de script/comando de shell
Como depurar o shell script?
Lar
como:
• Manipulação de vários argumentos de linha de comando, etc.
Próximo
Anterior
• Descritores de arquivos
Capítulo 4: Comandos avançados de script de shell
programa
Anterior
• armadilhas
http://www.cyberciti.biz/pdf/lsst/ch04.html [29/07/2002 18:52:35]
LSST v1.05r3 > Capítulo 4 > Introdução
Introdução
Machine Translated by Google
83. comando> /dev/null
Variável local e global do Shell (exportação
Sintaxe:
Tutorial de script de shell do Linux (LSST) v1.05r3
Exemplo:
Execute os dois comandos a seguir
$ ls > /dev/nulo
$ rm > /dev/nulo
comando)
partição e sistema de arquivos.
Acima
Ponto Futuro:
Este é um arquivo especial do Linux que é usado para enviar qualquer saída indesejada do programa/comando.
Próximo
outros arquivos do dispositivo. Os arquivos neste diretório representam principalmente dispositivos periféricos, como disquetes
Próximo
Comandos avançados de script de shell
Lar
disco, placa de som, impressoras de linha etc. Veja o tutorial do sistema de arquivos para obter mais informações sobre o disco Linux,
$ ls > /dev/nulo
Capítulo 4: Comandos avançados de script de shell
1) Por que a saída do último comando não é redirecionada para o dispositivo /dev/null?
Anterior
A saída do comando acima não é mostrada na tela e é enviada para este arquivo especial. O diretório /dev contém
Anterior
LSST v1.05r3 > Capítulo 4 > /dev/null - Use para enviar saída indesejada do programa
http://www.cyberciti.biz/pdf/lsst/ch04sec1.html [29/07/2002 18:52:36]
do programa
/dev/null - Use para enviar saída indesejada
Machine Translated by Google