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

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

Re: [shell-script] Script para mudança de diretório


From: Julio C. Neves
Subject: Re: [shell-script] Script para mudança de diretório
Date: Thu, 22 Apr 2010 17:41:29 -0300

Fala Roberto,
se no violão vc ficar tanto tempo parado qto vc está em shell, nem na banda
do Exército da Salvação vc conseguiria tocar... ;)

Amigo, vc colocou o cd em um script. Qdo vc mandou executar este script, foi
criado um subshell para interpretá-lo e este subshell foi para o diretório
desejado, só que qdo terminou o processamanto, este subshell morreu e o
prompt voltou ao shell principal, que *nunca saiu de onde estava*. Deu pra
entender?

"Execute" o seu script usando o cmd source, para que não seja criado um
subshell para interpretá-lo.

De quebra, já que vc está de volta ao Bash, vamos aperfeiçoar o seu script.

read -p "Entre com o nome da midia: " d
cd /recall/data/input/midias/$d*

Já que fiz este script dificílimo para vc, acho que posso te pedir um
ingresso para o seu próximo show ;)

Abraços,
Julio
Cursos de Shell e Zenity em 2 fins de semana?
- Aracaju turma de Shell em 12/05 - address@hidden;
- DF turma de Shell em 12/06 - ligue (61)3223-3000;
- RJ turma de Shell em 14/06 - ligue (21)2210-6061;
- Floripa turma de Shell e Zenity 12/07 – address@hidden;
- Turmas fechadas em outras cidades ligue (21)8112-9988.


Em 22 de abril de 2010 14:27, Roberto Alves <address@hidden> escreveu:

>
>
> Pessoal,
> fui fazer uma coisa que achei que seria muito facil mas não consegui.
> Como estou há muito tempo parado com isso acho que deve ser uma bobeira
> minha.
>
> Tenho um diretório que contém milhares de outros diretórios e cada um
> tem um nome que é composto de um nome de uma mídia e uma data, nada
> mais.
> Como eu tenho que ir a um ou outro toda hora achei que seria só jogar
> um pedaço de um diretório em uma variável e com o grep encontrar o
> restante do nome.
> Daí seria só dar um cd para esta variavel.
>
> O que eu fiz foi o seguinte:
>
> ------------------
> echo "Entre com o nome da midia"
>
> read d
>
> a=`ls /recall/data/input/midias/input/ |grep $d`
>
> cd /recall/data/input/midias/input/$a*
> -----------------
>
> O nome do diretório que eu pego no ls é algo do tipo: w012345_28102009
>
> Simples, não?
>
> Bem, eu achei que seria.
>
> Eu fiz cada linha na mão e funciona mas quando coloquei no script ele
> não faz nada.
> Acho que eu devo exportar a variável ou algo parecido.
> Se puderem dar uma opinião eu agradeço.
>
> Ah, Julio, não estou mais no AIX!!!!
> Ufa...
> Voltei pro Bash no Linux.
>
> abraços,
> Roberto Alves
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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