shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

duvidas: find e $0


From: romano
Subject: duvidas: find e $0
Date: Wed, 19 Mar 2008 00:45:49 -0300
User-agent: Thunderbird 2.0.0.0 (X11/20070326)

Gente eu preciso ler uma pasta e deletar todos os arquivos mais velhos que uma certa data, eu tive a seguinte idéia

for i in `find PARAM_PRI -mtime +PARAM_SEC`
do
        rm $i
done

com os param_pri sendo a pasta e o param_sec sendo a data, so que eu preciso que ele execute o find somente na pasta que eu passei de origem e nao em todas as que existem dentro desta.

podem me ajudar ?

----->

Agora é outra dúvida, eu executei aqui em casa um script que usava o dirname, quando eu executava ele sem o . no começo ele executava certo mas o depois essa variavel deixava de existir, e quando eu digitava com . a variável existia mas somente com . e nao com a localização desde a raiz;

exemplo do script
#!/bin/bash

local=$(dirname $0)
echo $local
echo $0

quando executado
romano@romano-desktop:~/desktop$ /home/romano/desktop/teste
/home/romano/desktop
/home/romano/desktop/teste
romano@romano-desktop:~/desktop$ echo $local
------> em branco mesmo, não é enter não
O bash cria um "sub-bash" e executa esse comando e quando termina mata aquele sub-bash fazendo com que suas variáveis morram.

Agora com o . na frente
romano@romano-desktop:~/desktop$ . /home/romano/desktop/teste
.
bash
romano@romano-desktop:~/desktop$ echo $local
.
porque o . e nao a saída do mesmo script executado sem o . na frente, e porque o nome do script é bash e nao teste ???


a maior dúvida é a segunda pergunta mas a maior necessidade é a primeira;
Att: Bruno Romano


reply via email to

[Prev in Thread] Current Thread [Next in Thread]