Utilizando parametros de um array para localizar pastas [RESOLVIDO]

1. Utilizando parametros de um array para localizar pastas [RESOLVIDO]

Luis Renato
tharivol

(usa Fedora)

Enviado em 07/03/2018 - 14:45h

bom dia, boa tarde, boa noite bipedes!

sou um iniciado na arte de progração shell script :) e tenho umas duvidas...

estou tentando fazer o seguinte...

fazer um script que pegue em uma pasta as 2 mais novas pastas dentro dela...

e fazer com que um link simbolico (que está configurado com a pasta mais nova) seja removido e um novo link simobolico seja criado com a segunda mais nova...

depois tenho q excluir a pasta mais nova de todas...

ok... vamos lá...

utilizando o comando -> array=$(ls -t | head -n 2) <- dentro da pasta desejada eu consigo selecionar a pasta mais nova de todas e a segunda mais nova! que estão alocadas no 0 e 1 do array...

dai eu tento executar o seguinte comando para excluir o link simbolico e criar outro

rm -f /home/user/diretorio/pasta/link && ln -s /home/user/diretório/pasta1/${array[1]} /home/user/diretorio/pasta/link
e para remover a pasta mais nova
rm -f /home/user/diretório/pasta1/${array[0]}

porém o que ocorre é que quando executo esses comandos, o link eh criado mas dentro do link está as 2 pastas que estão alocadas no array... e na pasta aonde elas estavam elas desaparecem...

ja tentei fazer

wdeploy=${array[0]}

wdeploy=${array[0]}

e substituir essas variaveis ali aonde colocaria o caminho da remoção do link e criação de um novo...

oque será de errado que nao esta certo para ele funcionar? ;/ pq ao meu ver teria funcionar... testei ele dando um eco no array posição 0e 1 e nas variaveis e ele retorna exatamente o nome das pastas que devem ser utilizadas!!!!!


pfv ajuda ieu :D




  


2. Re: Utilizando parametros de um array para localizar pastas [RESOLVIDO]

Luis Renato
tharivol

(usa Fedora)

Enviado em 08/03/2018 - 15:53h

Percebi que quando utilizo o comando

array=$(ls -t | head -n 2)

ele coloca as 2 pastas na posição 0 do array

deixando a posição 1 vazio...

como eu posso fazer pra cada pasta ir em cada posição do array?


3. Re: Utilizando parametros de um array para localizar pastas [RESOLVIDO]

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 08/03/2018 - 16:35h

Veja se assim resolve:
$ ls -t | head -n 2
Downloads
Documentos

$ arr=(`ls -t | head -n 2`) <= Comando entre acento grave e parenteses

$ echo ${arr[0]}
Downloads

$ echo ${arr[1]}
Documentos

$ echo ${arr[*]}
Downloads Documentos







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts