Executar um script

1. Executar um script

Ruan Lima
domtux

(usa Ubuntu)

Enviado em 23/09/2008 - 10:37h

Pra executar um script, basta colocar o ./ e o nome do script ou algo mais?


  


2. Re: Executar um script

Marcelo Cavalcante Rocha
kalib

(usa Arch Linux)

Enviado em 23/09/2008 - 10:44h

Olá amigo..
Na verdadeo ./ serve para executar qualquer coisa que seja um executável no linux...
Se você possui um script em ssh por exemplo chamado script.sh..
Você precisa primeiro torná-lo um executável:

chmod a+x script.sh
E em seguida executar:
./script.sh

;]

Se simplesmente tentar executar com ./... ele provavelmnte não funcione por não ter sido definida a permissão de execução. ;]

abraço


3. Re: Executar um script

Ruan Lima
domtux

(usa Ubuntu)

Enviado em 23/09/2008 - 11:00h

Quando executo o ./

e dou enter..

não acontece nada eh tipo assim neh

root@srv:~# ./alerta

ai da enter e fica em branco em baixo.


4. ./ Para que serve?

José Mário
miura 787

(usa Ubuntu)

Enviado em 23/09/2008 - 11:17h

Bom pode ser que eu esteja errado, mas o pessoal mais entendido pode me corrigir, pelo que eu sei o ./ serve para quando for necessário executar um comando em um arquivo executável que está no mesmo diretório que vc está.

Exemplo se vc está no diretório /home/XX e o executável tbm está neste mesmo diretório, vc precisa adicionar o./ para que seja possível executá-lo.

Caso vc não esteja no mesmo diretório, pode-se dar o comando diretamente no arquivo executável.

Importante dar ao arquivo o poder de execução pelo comando chmod.


5. Re: Executar um script

Geraldo José Ferreira Chagas Júnior
gjr_rj

(usa Debian)

Enviado em 23/09/2008 - 11:38h

O miura 787 está certo.

. apenas indica que é o diretório corrente

.. diretório anterior

então ./xxxxx vai executar xxxxx que está no diretório corrente

../xxxxxx vai executar xxxxx que está no diretório pai

São os dois diretórios que sempre existem

porém está errado em um detalhe, o diretório corrente, diferente do windows onde o diretório "." sempre faz parte do path, não está no path ou seja a não ser que você faça com que o diretório corrente sempre faça parte do path, o que não é o padrão, no linux você tem que usar ./ para executar um arquivo que se encontra no diretório atual.

Porém se ao executar o script, ele fica parado, há três possibilidades provaveis: ou ele está em loop, ou está executando algo muito demorado, ou está esperando uma entrada de dados.

Poste seu script para que possamos entender o que está acontecendo.

O problema não é permissão, pois caso fosse, daria um erro diferente.


6. Re: Executar um script

Ruan Lima
domtux

(usa Ubuntu)

Enviado em 23/09/2008 - 12:49h

Tou querendo usar este script que é pra quando o HD estiver com 90% ocupado, a maquina começa a apitar.

Se alguem puder me dizer passo a passo o que fazer agradeço.

Segue o script:



if [ $percent > 90 ]

Olhe esse exemplo:

#!/bin/bash
while :
do
percent=`df -h | sed -u '2!d' | awk '{print $5}'`
[[ $percent > "90%" ]] && echo -e "\a" || echo "HD ok\!"
sleep 10m
done



Desde de ja agradeço a atenção.


7. Re: Executar um script

Geraldo José Ferreira Chagas Júnior
gjr_rj

(usa Debian)

Enviado em 23/09/2008 - 12:59h

Cara, como falei
um loop eterno

Não testei o código, mas deve estar correto

Ele vai ficar parado mesmo, testando eternamente o HD

Sugestão. Ou você utiliza o & para liberar o terminal, colocando seu script para funcionar em back

# ./alerta &

pode fazer isso de outra forma, colocando uma chamada para o script na inicialização do sistema.

ou, o que eu acho a melhor solução, tirar o loop (while) e colocar o script no crontab para ser executado de 10 em 10 minuto ou o tempo que quizer.



8. Re: Executar um script

Geraldo José Ferreira Chagas Júnior
gjr_rj

(usa Debian)

Enviado em 23/09/2008 - 13:08h

Se precisar de ajuda é só falar.


9. Re: Executar um script

Ruan Lima
domtux

(usa Ubuntu)

Enviado em 23/09/2008 - 14:46h

Quando digito

./alerta &

aparece isto...

[1] 3037


Siginifica algo??


10. Re: Executar um script

Alberto Federman Neto.
albfneto

(usa openSUSE)

Enviado em 23/09/2008 - 16:06h

não é ./alerta,
mas ./alerta.sh, tem que usar a extensão, e tem que setar as permissões antes com chmod, como Kalib falou.
é melhor em modo root e ainda. se não funfar, tem outro jeito:

su e senha de root
sh alerta.sh

tem que estar no diretório aonde está o arquivo alerta.sh

Outra coisa, se o script está como postou,
f [ $percent > 90 ] e "olhe este exemplo", se estiverem, precisa comentar as linhas.


11. Re: Executar um script

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 24/09/2008 - 09:35h

--------------------
./alerta &
aparece isto...

[1] 3037

Siginifica algo??
--------------------

Sim! Indica que o script está rodando sem falhas aparentes. O [1] indica que este é o primeiro job que você iniciou "manualmente" e o 3037, refere-se ao PID (identificação) que ele recebeu. Sendo assim, caso você queira finalizá-lo, basta dar um "kill -9 3037".

--------------------
não é ./alerta,
mas ./alerta.sh, tem que usar a extensão
--------------------

Não necessariamente! Em sistemas *.nix, não é obrigatório especificar extensões para arquivos (comuns ou executáveis).

Se você ainda continua com dúvidas sobre o funcionamento do script, então faça um teste, troque o "90%" por 5 ou 10% e rode o script novamente.


12. Re: Executar um script

Ruan Lima
domtux

(usa Ubuntu)

Enviado em 24/09/2008 - 11:14h

Origado pela atenção de todos...vou fazer o teste q vc falou.
E pra parar de apitar??

Como faço??





01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts