Sei sulla pagina 1di 9

- Dev in - http://www.devin.com.

br -

Programando em shell-script
Pos ted By Hugo Cisneiros (Ei tch) On 9 de agos to de 2004 @ 9:00 am In Program ação,
Tutoriais | 111 Comments

Uma vez fui convidad o à escrever pa ra a Revista do Linux, e fiz a lguns tutoriais que
ens inam o b ásico pa ra que m está começando a criar shell -scripts. Disponibil izo e les a qui.

Primeira parte, uma introdução [1]

Que m usa Linux conhece be m o prompt de comando s h,


ou vari ações com o o bash. O ue muita ge nte não sabe é
que o sh ou o bash têm um a “pode rosa” li nguagem de
script e mbutido ne las mesmas. Di versas pes soa s utilizam-
se des ta linguag em para faci litar a realização de
inúmeras tarefas administrati vas no Linux, ou até mes mo
criar seus próprios programinhas. Patrick Volkerding,
criador da distribuição Slackware, utili za es ta linguage m
para tod a a instalação e configuração de sua d istribuição.
Você pod erá criar scripts p ara a utomar as tarefas diárias
de um servidor, para e fetuar backup au tomático
regularmente, procurar textos, criar formatações, e muito
mais. Para você ve r como e sta linguag em pode se r útil,
vamos ver alguns passos introdutórios sobre ela.
Interpretadores d e comandos são program as feitos para O livro Shell Script Pro fiss ional
intermed iar o usuário e seu s istema. Através d este s [1] do Aurélio Mari nho Jargas
interpretadores , o usuário m anda um comando , e o é altamente recomendado
interpretador o e xecuta no sistema. El es s ão a “Shell” do para aqueles que já sabem
sistema Linux . Usaremos o interpretado r de comandos um pouco de shell-script e
bash,melhor
uma por sercompreen
m ais “extenso”
são dasque o sh, e para
informações que haja
obtidas aqui, quere m se ape rfeiçoar.
recomendo 1 00%! Eu
é bo m ter uma bas e so bre o conceito de lógica de
programação.
Uma da s vantagens destes shell sc ripts é que eles não precisam ser com pilados, ou seja,
bas ta ape nas criar um arquivo texto qua lquer, e inserir c omandos à ele. Para dar à e ste
arquivo a definição d e “she ll script”, teremos que incluir uma linha no começo do arquivo
(#!/bin/bash) e torná-lo “executável”, utilizando o comando chmod. Vamos seguir com um
pe quen o exemplo de um shell script que mostre na te la: “Noss a! Estou vivo!”:
#!/bin/bash
echo 'Nossa! Estou vivo!'

Fácil, hein? A primeira linha indica que to das as outras linhas a baixo de verão s er
executada s pe lo bas h (que s e localiza e m /bin/bas h), e a se gunda linha imprimirá na te la
a frase “No ssa ! Estou viv o!”, utilizand o o comando echo, que s erve justamente para isto.
Como você pôde ver, todos os comandos q ue você digita dir etamente na linha de
comando , você p ode rá incluir no se u she ll script, criando uma s érie de comando s, e é es sa
combinação de comando s q ue forma o chamado she ll script. Tente também dar o comando
‘file arquivo’ e veja que a de finição dele é de Bourne -Again She ll Script (Bas h Script).
Contud o, para o a rquivo po der se executável, v ocê tem de a tribuir o comando de
executável pa ra ele. E com o citamos anteriorm ente , o comando chmod s e e ncarreg a disto:
$ chmod +x arquivo

Pronto, o arquivo pode rá se r executado com um simples “./arqui vo”.

Conceito de Variáveis em shell script

Variáveis são caracteres qu e armazena m dad os, uma es pécie de ata lho. O bas h
reconhece uma variável quando ela começ a com $, ou seja, a d iferença e ntre ‘palavra’ e
‘$pa lavra’ é que a primeira é uma palavra qualque r, e a outra uma variável. Pa ra de finir
uma variável, util izamos a se guinte s intaxe:
variavel="valor"

O ‘valor’ se rá atribuí do a ‘variável ‘ . Valor pode ser uma frase, números, e a té o utras
variáveis e com ando s. O valor pode s er express ado e ntre as as pas (“”), apó strofos (”) ou
crase s (“). As asp as vão interpretar as variáveis que e stiverem dentro do valor, os
apó strofos lerão o valor li teralmente , sem interpretar nada , e as crases vão interpretar
um comando e retornar a sua s aída pa ra a variável.
Vejamos exemplos:
$ variavel="Eu estou logado como usuário $user"
$ echo $variavel
Eu estou logado como usuário cla

$ variavel='Eu estou logado como usuário $user'


$ echo $variavel

Eu estou logado como usuário $user


$ variavel="Meu diretório atual é o `pwd`"
$ echo $variavel
Meu diretório atual é o /home/cla

Se você quise r criar um script em que o us uário deve interagir c om ele, é po ssível que
você queira que o próprio usuá rio de fina uma vari ável, e para isso usamos o comando
read, que dará uma paus a no s cript e ficarará espe rando o usuário digitar al gum valor e
teclar enter. Exemplo:
echo "Entre com o valor para a variável: " ; read variavel
(O usuário digita e tecla enter, vamos supor que ele digitou 'eu sou um frutinha')
echo $variavel
eu sou um frutinha

C ontrole de fluxo com o if

Controle de flux o sã o comando s que vão te stand o algumas alternativas, e de acordo com
es sas alternativ as, vão exe cutando com ando s. Um dos comandos d e controle de flux o
mais usa dos é certamente o if, que é ba se ado n a lógica “se acontecer isso, ir ei faze r isso ,
se não, irei fazer aquilo”.
Vamos dar um exemplo:
if [ -e $linux ]
then
echo 'A variável $linux existe.'
else
echo 'A variável $linux não existe.'
fi

O que e ste pe daço de código faz? O if testa a se guinte express ão: Se a variável $linux
existir, então (then) ele diz que que existe com o echo, se nã o (else), ele diz que não
existe. O ope rador -e que use i é pré-defi nido, e voc ê po de e ncontrar a l istagem dos
operadores na tabela:

-eq Igual
-ne Diferent e
-gt Maior
-lt Menor
-o Ou
-d Se for um diretório
-e Se e xistir
-z Se es tiver vazio
-f Se conter texto
-o Se o u suário for o do no
-r Se o ar quivo po de se r lido
-w Se o ar quivo pode ser alterado
-x Se o ar quivo pod e ser ex ecutado

Outras alternativas

Existem inúmeros comando s no Linux, e pa ra explicar todo s, teríam os de publicar um


verdade iro livro. Mas e xistem outras pos sibilidades de a prendizad o de sta língua, que
também é us ado e m todas as p rogramações . Primeiro de tudo você po de da r uma olhada
na manpage do ba sh (comando man bash), que disponibil izará os comandos e mbutidos
no interpr etador de comandos. Um a da s coisas ess encias pa ra o ap rendizado é s air
coletando e xemplos de outros s cripts e ir estuda ndo-os mi nuciosa mente . Procure s empre
comandos e e xpressõ es novas em outros scr ipts e em manpages dos comandos. E por
último, mas não o menos importante , praticar bas tante!
Na tabe la a seg uir, você pode encontrar um a listag em de comando s pa ra usar em sua
shell script:
echo Imprime tex to na tela
read Captur a dados do usuári o e col oca nu ma var iável
exit Finaliza o s cript
sleep Dá uma pausa e m segundos no scr ipt
clear Limpa a tel a
stty Conf igura o ter minal temporar iamente
tput Altera o modo d e exibição
if Controle de f luxo qu e test a uma ou mais ex press ões
case Contr ole de fl uxo que testa vár ias ex pressões ao mesm o tem po
for Con trole de fl uxo que t est a uma ou m ais ex pressõ es
while Control e de fluxo que t esta um a ou mais expr essõ es

E as sim se ja, crie s eus próprios scri pts e facilite de uma vez só p arte de sua vida no
Linux!
Segunda parte, se aprofundando mai s!
Falamos sob re o conceito da programação em Shell Script, e de mos o primeiro pas so para
construir noss os próprios scri pts. Agora vam os no s ap rofundar nos comandos mais
complicados, aprende ndo a faze r programas ainda mais úteis. Neste s comando s es tão
inclusos o case e o s laços for, while e until. Além disso, vam os falar de funções e , por
último, te remos um prog rama em she ll script.

Case

O case é para controle de flux o, tal como é o if. Mas e nquanto o if testa express õe s não
exata s, o case vai agir de a cordo com os re sultados exatos . Vejamos um exem plo:
case $1 in
parametro1) comando1 ; comando2 ;;
parametro2) comando3 ; comando4 ;;
*) echo "Você tem de entrar com um parâmetro válido" ;;
esac

Aqui aconteceu o s eguinte: o case leu a variável $1 ( que é o primeiro parâmetro pass ado
para o p rograma), e comparou com valores exatos . Se a variável $1 for igual à
“parametro1″, então o programa executará o comando1 e o comando2; se for igual à
“parametro2″, executará o comando3 e o comando 4, e assim em diante. A última opção
(*), é uma opção padrão d o case, ou se ja, se o p arâmetro passa do nã o for igual a
nenhum a d as outras opções anteri ores, ess e comando será e xecutado automaticamente.
Você pod e ve r que, com o case fica muito mais fáci l criar uma es pécie de “menu” pa ra o
she ll script do que com o if. Vamos demonstrar a mesma função an terior, mas ago ra
usa ndo o if:
if [ -z $1 ]; then
echo "Você tem de entrar com um parâmetro válido"
exit
elif [ $1 = "parametro1" ]; then
comando1
comando2
elif [ $1 = "parametro2" ]; then
comando3
comando4
else
echo "Você tem de entrar com um parâmetro válido"
fi

Veja a diferença. É m uito mais prático usar o case ! A vantag em do if é que ele po de te star
várias e xpressõ es que o case nã o pod e. O case é mais prátic o, mas o if pode s ubstituí -lo
e a inda ab range mais funções. Note que, no exemplo com o if, citamos um “com ando ” não
visto a ntes: o elif – que é uma combinação de else e if. Ao invés de fechar o if para cr iar
outro, usamos o e lif para testa r uma e xpressã o no mes mo comando if .

For

O laço for vai subs tituindo uma variável por um v alor, e vai executando os comando s
pe didos. Veja o exempl o:
for i in *
do
cp $i $i.backup
mv $i.backup /usr/backup
done

Primeiramente o laço for atri buiu o valor de retorno d o comando “*” (que é equivalente a
um ls s em nenhum parâmetro) para a variável $i, dep ois exe cutou o bloco de comando s.
Em seguida e le atribui outro valor do com ando “*” pa ra a variável $1 e reexecutou o s
comandos. Isso se repete a té que não s obrem v alores de retorno do comando “*”. Outr o
exemplo:
for srcinal in *; do
resultado=`echo $srcinal |
tr '[:upper:]' '[:lower:]'`
if [ ! -e $resultado ]; then
mv $srcinal $resultado
fi
done

Aqui, o qu e o corre é a transform ação d e letras maiúsculas p ara minúsculas. Para cada
arquivo que o laço lê, uma vari ável cham ada $resultado irá conte r o a rquivo e m letras
minúsculas. P ara trans formar em letras mi núsculas, usei o comando tr. Caso não exista
um arquivo igual e com l etras minúsculas, o a rquivo é renomeado para o valor da variável
$resultado , de mes mo n ome, mas com letras minúsculas.
Como o s e xemplos ilustram, o laço for po de se r bem útil no tratamento de múltiplos
arquivos. Voc ê pode de ixá-los todos com letras mi núsculas ou maiúsculas se m precisar
renomear cada um m anua lmente , pode o rganizar dado s, faze r backup, entre outras
coisas.

While

O wh ile tes ta continuamente uma expressã o, até que e la se torne falsa. Ex emplo:
variavel="valor"
while [ $variavel = "valor" ]; do
comando1
comando2
done

O que acontece a qui é o se guinte: enquanto a “$variavel” for i gual a “valor”, o while
ficará executando o s comando s 1 e 2, até q ue a “ $variavel” não s eja mais i gual a “valor”.
Se no bloco dos comandos a “$variavel ” mudasse , o while iria pa rar de executar os
comandos quando chegass e em done, pois agora a e xpressã o $vari avel = “valor” não
se ria mais verdad eira.
Until

Tem as mes mas características do w hile, a ún ica diferença é que ele faz o contrário. V eja
o exemplo abaixo:
variavel="naovalor"
until [ $variavel = "valor" ]; do
comando1
comando2
done

Ao invés de e xecutar o bl oco de comandos (c omando1 e comando2) até que a e xpressã o


se torne f alsa, o unti l testa a expressão e execut a o bloco de com andos a té que a
expressão se torne verdadeir a. No exempl o, o bloco de comandos será e xecutado de sde
que a expres são $variavel = “valor” não se ja verdadeira. S e no b loco de comando s a
variável for defi nida como “valor”, o until pára de executar os comandos quand o chega ao
done.
Vejamos um exemplo pa ra o until que, s intaticamente invertido, serve p ara o while
também:
var=1
count=0
until [ $var = "0" ]; do
comando1
comando2
if [ $count = 9 ]; then
var=0
fi
count=`expr $count + 1`
done

Primeiro, atri buímos à variável “$var” o valor “ 1″. A variável “$count” se rá uma contage m
para qua ntas vez es quise rmos e xecutar o bl oco de comandos. O unti l executa os
comando s 1 e 2, enqua nto a variável “$var” for igual a “0″. Então us amos um if para
atribuir o valor 0 para a variável “$var”, se a variável “$count” for igual a 9. Se a variável
“$count” não for igual a 0, soma-se 1 a ela. Isso cria um laço que executa o comando 10
vezes, porque cada vez que o comando d o bloco de com andos é e xecutado, som a-se 1 à
variável “$count”, e quando chega e m 9, a variável “$var” é igualada a ze ro, que brando
as sim o laço un til.

Usando vários scripts em um só

Po de-se precisar criar vários scripts s hell que faze m funções diferente s, mas, e se você
precisar executar em um scr ipt shell um outro scri pt e xterno pa ra que es te faça a lguma
função e nã o precisar rees crever tod o o código? É simpl es , você s ó precisa incl uir o
se guinte com ando no se u script she ll:
. bashscript2

Isso e xecutará o scri pt she ll “ba shscript2″ durante a e xecução do se u script she ll. Nes te
caso e le será exe cutado na m es ma script shell em que e stá se ndo us ado o comando .
Pa ra utilizar outra she ll, você s implesmente s ubstitui o “.” pe lo executável da s hell, ass im:
sh script2
tcsh script3

Ness as linhas o script2 se rá executado com a she ll sh, e o script3 com a shell tc sh.

Variáveis especiais

$0 Nome do script que est á sen do e xecutado


$1- Parâmetros pas sados à linha de comando
$9
$# Número de pa râmetros pa ssa dos
$? Valor de retorno d o último comando o u de todo o s hell script. (o comando “exit 1″
retorna o valor 1)
$$ Número do PID (Process I D)
Você também encontra m uitas variávei s, já prede finidas, na p ágina de manual do bas h
(comando “ man b ash” , seção Shell Variables).

Funções

Funções são blocos de comandos que podem ser defi nidos para uso posterior em
qualque r parte do código. Pratic amente toda s as linguagens u sam funções qu e ajudam a
organizar o código. V ejamos a s intaxe de uma funç ão:
funcao() {
comando1
comando2
...
}

Fácil de enten der, não ? A função funci ona rá como um sim ples comando próprio. V ocê
executa a função e m qualque r lugar do script she ll, e os comandos 1 , 2 e outros s erão
executado s. A flexibilidade das funçõe s permite facilitar a vida d o programador, com o n o
exemplo final.

Exemplo Final

Agora vam os d ar um exemplo de um program a qu e utilize o que aprend emos com os


artigos.
#!/bin/bash
# Exemplo Final de Script Shell
Principal() {
echo "Exemplo Final sobre o uso de scripts shell"
echo "------------------------------------------"
echo "Opções:"
echo
echo "1. Trasformar nomes de arquivos"
echo "2. Adicionar um usuário no sistema"
echo "3. Deletar um usuário no sistema"
echo "4. Fazer backup dos arquivos do /etc"
echo "5. Sair do exemplo"
echo
echo -n "Qual a opção desejada? "
read opcao
case $opcao in
1) Transformar ;;
2) Adicionar ;;
3) Deletar ;;
4) Backup ;;
5) exit ;;
*) "Opção desconhecida." ; echo ; Principal ;;
esac
}
Transformar() {
echo -n "Para Maiúsculo ou minúsculo? [M/m] "
read var
if [ $var = "M" ]; then
echo -n "Que diretório? "
read dir
for x in `/bin/ls` $dir; do
y=`echo $x | tr '[:lower:]' '[:upper:]'`
if [ ! -e $y ]; then
mv $x $y
fi
done
elif [ $var = "m" ]; then
echo -n "Que diretório? "
read dir
for x in `/bin/ls` $dir; do
y=`echo $x | tr '[:upper:]' '[:lower:]'`
if [ ! -e $y ]; then
mv $x $y
fi
done
fi
}
Adicionar() {
clear
echo -n "Qual o nome do usuário a se adicionar? "
read nome
adduser nome
Principal
}
Deletar() {

clear-n "Qual o nome do usuário a deletar? "


echo
read nome
userdel nome
Principal
}
Backup() {
for x in `/bin/ls` /etc; do
cp -R /etc/$x /etc/$x.bck
mv /etc/$x.bck /usr/backup
done
}
Principal

Terceira parte, janelas graficas


Nos do is topicos a nteriores, vi mos a lgumas coisas b ásicas e lógicas de p rogramação e m
she ll no Linux. A gora p ara compl etar, darei aq ui dicas de como us ar janelas gráficas e m
se us s hell-scripts. Isso mes mo, janelas que rodam no a mbiente gráfico, utilizad as
facilmente em seu she ll-script. Com ess e re curso, vai se r poss ível de ixar o se u prog rama
bem amigável.
Não vai se r preciso sab er muita coisa de programação em shell, pois é muito simples.
Através d o prog rama Xdialog, v ocê po derá criar os mais variados tipos d e jane las para o
programa: c aixas de texto, seleçÕes , radios, e tc. O Xdialog é uma idéia que vem do
dialog/cdialog, um programa para console que gera “jane las” no conso le (aque las da
instalação do Slack wa re) usando a b iblioteca ncur ses . O Xdialog ao invés de u sar a
biblioteca ncurses , usa a Xlib para cri ar as janelas no ambiente gráfico.
Primeiro de tud o se rá neces sário você obte r o Xdialog no s eu s istema. Não é comum o
Xdialog e star incluso nas distribuições, então você terá de pega r e compilar o programa.
Obte nha o programa no CD da Revista ou visit e o ende reço oficial do Xdi alog, que é
http://xdialog.free.fr. Aqui eu peguei o arquivo Xdialog-1.4.5.tar.bz2, e agora vamos aos
pas sos bás icos p ara instalar ele. Pri meiro des compacte-o com o comando bunz ip2
Xdialog-1.4.5.tar.bz2, e logo em seguida tar xpvf Xdialog-1.4.5.tar. Um diretório chamado
Xdialog-1.4.5 se rá criado, e e ntrando ne le você es tará pronto para compi lá-lo e instalá-l o.
Pa ra fazer isso use os comando s ./configure, depois make e por último make install . No
pas sojádo
você po make
derá utilizar
insta ll, oo Xdialog
binário do
através
Xdialog
desqualque
erá colocado
r shell-script.
em /usr/local/bin. Pronto, ago ra
E ago ra vamos à ação! Como apren demos nos artigos anteriores, em shell- script é só
colocar o comando dentro do arquivo que ele já vai ser executado q uando o script for
executado . Então só o q ue temos de aprend er aqui é como usar o Xdi alog. Vamos ver um
primeiro exemplo:
#!/bin/bash

Xdialog --title "Exemplo número 1!" --center --stdout --yesno \


"Isto é legal?" \
0 0

echo $?
Como você p ôde ver, o programa Xdial og gerou uma jane la com título “ Exemplo número
1!”, perguntand o “Isto é lega l?” e com opç õe s de Sim e Não . Note que a \ (barra) serve
para indic ar à she ll para continuar o com ando da linha seguinte, então esta s três linhas
são que n em uma só . Como último comando do exemplo dado, temos o e cho $?, que eu
coloquei apen as pa ra indicar qual foi o retorno da pe rgunta. Caso o us uário apertou em
Sim, o retorno vai ser 0, e se ape rtou em Não, v ai ser 1. Pode mos us ar es te retorno p ara
controlar o que o usuá rio e scolher. V ejamos um exempl o:
Xdialog --title "Exemplo número 2!" --center --stdout --yesno \
"Neste exemplo, vamos ver o que você quer fazer. Você deseja continuar com o programa?" \
0 0

if [ $? = "0" ]; then
echo "Que bom! Você continuou o programa! Parabéns!"
elif [ $? = "1" ]; then
echo "Você saiu do programa..."
fi

Viu como funciona ? Agora vamos ver outros recursos que o Xdialog pod e o ferecer. Eu vou
dar vários exemplos aqui e s air comentando cada op ção. Você precisará praticar bas tante
e conhe cer as várias o pções . Primeiro vamos g erar uma sim ples mensa gem pro usuá rio
ver:
Xdialog --title "Aviso" --center --stdout --msgbox \
"Este programa é apenas um exemplo para você ver como o Xdialog \
\nfunciona. Apropósito, se você praticar bastante pode criar \
\nprogra mas incríveis e facilmente, que daria muito mais \
\ntrabalho fazendo em outras linguagens." \
0 0

O us uário ape rta Ok e o s hell-script continua normal mente . No primeiro exe mplo eu use i a
opção –yesno qu e ge rava o sim e não . Agora usei o –msgbox. Mas e se você quiser que o
usuá rio digite algo e isto seja gravado e m um arquivo por exe mplo? Vamos ver este
exemplo:

Xdialog
"Se você--title "QueéAnime
sabe o que que
Anime, você mais
e gosta, gosta?"
qual --center --inputbox
o seu preferido?\n \ \
Sua resposta será gravada no arquivo resposta." \
0 0 2> resposta

Depois que o usuári o preenche o campo e dá Ok, a resposta que e ste usuá rio digit ou
se rá gravada no arquvio respos ta. Isto ocorreu pelo fato de e u ter colocado o
direcionad or 2> para o a rquivo resp osta . Se e u colocasse a opção –stdo ut na linha de
comando do Xdialog, a resp osta do us uário apareceria na tela. T ente você.
Vamos ve r agora s eleção d e itens, que é uma das coisas mais importantes num programa.
Desta vez usare mos a opção –menubo x para gerar um menu com os it ens a se rem
se leciona dos . Mais uma vez, vam os a o e xemplo:
Xdialog --title "Exemplo de Menu" --center --stdout --menubox \
"Qual sua distribuição Linux favorita?" \
20 50 0 \
1 "Slackware" \
2 "Debian" \

3 "Red
4 Hat" \Linux" \
"Conectiva
5 "Eu tenho minha própria distribuição"

Viu como é fácil? O que o us uário escolher vai aparecer com o res ultado no console (por
causa d a op ção –std out). Se eu colocasse o redireci ona dor 2>, poderia ir para um arquiv o
como no exemplo ante rior. Vamos e sclarecer uma coisa aq ui també m… Depois d o te xto
“Qual sua distribuição Linux favo rita?”, há 2 números . Este s dois números corres pondem
à altura e compri mento d a jane la. Nos e xemplos an teriores eu coloque i “0 0″ pois aí o
Xdialog dimens iona automatic amente o tamanho da janela. Então já sab e, se q uiser
mudar o tamanho da janela, é só mudar este s dois números.
Agora como últi mo e xemplo, vamos criar uma jane la em que o us uário pod erá e scolher
uma ou mais opçõe s. Isto é chamado de checklist, e pod e s er visto no exemplo a se guir:
Xdialog --title "Último exemplo - checklist" --center --checklist \
"Como se pronuncia Linux?" \
0 0 0 \
"Opção 1" "Láinucs" off \
"Opção 2" "Lenocs" off \
"Opção 3" "Linúcs" off \
"Opçào 4" "Línucs" on \
"Opção 5" "GNUUU/Linux" off

Veja ago ra a diferença entre e sta checkl ist e o menu do exemplo anterior. Verifique q ue
depois de cada opção há o on e o off. O on in dica que esta o pção deverá já estar
marcada, e o off que não d everá e star marcada. Se o usuário escolher 3 opções , as
mesmas se rão o resultado.
Bem fácil criar uma interfac e amigável p ara s uas she ll-scripts. Se você pe nsa que isto é
tudo, ainda tem muito mais por trás do Xdialog. Para nã o te r que ficar comenta ndo cada
opção , vou dar uma l ista de pa râmetros e a de scrição de s uas funções . O que você
deverá fazer é sa ir testando toda s as opções e se impressionar : )

–yesno Uma janel a com opções de “Sim” ou “Não”


–msgbox Apenas m ostra um texto i nformativo
–infobox Mesmo que –m sgbo x, só que des apa rece automati camente e m um
dete rminado te mpo

inputbox O usuá rio pre enche um cam po

rangebox Escolhe um núm ero entre X e Y, com uma b arra de rolagem
–textbox Mostra o conteúdo de um arquivo numa caixa de text o
–editbox Edita o conteúdo de um arquivo numa caixa de texto

menubox Cria um Menu de opçõe s, onde s e se leciona um item

checklist Mesmo que –m enub ox, só que pode -se selecionar vári os itens
–radiolist Mesmo que –menubox, m as a gora em outr o estil o

treeview Opções organizadas em forma de “árvore” (interessante)
–gauge Um indicado r de processo
–tailbox Mostr a o co nteúdo de u m arquivo
–fselect Abre uma jan ela de seleç ão de um ar quivo
–dsel ect Abre uma jan ela de sel eção de um diretório

calendar Mostra um c alendá rio pa ra es colher uma da ta
–timebox Mostra uma janela par a edição de ho rário

Você também pode e ncontrar alguns exemplos no diretório sa mples q ue ve m junto com o
código-fonte do programa. S e você fizer algum program a legal e m shell-script, sinta-se a
vontade para me mandar um e-m ail. Outra coisa, com o o Xdialog é uma idé ia tirada do
dialog/cdialog
sintaxe para cri(exi ste ta mbém
ar estas o wnhiptail
“janelas” o modo que é pole.
cons arecido),
Esperovocê
quepeode
stasusar a mes
inform maforam
ações
úteis a você e até a próxima :)

Article printed from Devin: http://www.devin.com.br


URL to a rticle: http://www.devin.com.br/shell_script/
URLs in this pos t:
[1] Image: http://www.novatec.com.br/livros/shellscript/?idA=100

Potrebbero piacerti anche