The UNIX and Linux Forums  


Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
verifique o diretório existe ust Programação Shell Script e 7 09-22-2008 09:49
Verifique se existem certos arquivos em um diretório, se não adicione um nome para textfile SunnyK Programação Shell Script e 1 02-07-2008 09:21
como verificar se diretório / arquivo existe usando C / C + + steven88 Alto Nível de programação 2 01-03-2006 02:55
como verificar se diretório / arquivo existe usando C / C + + steven88 Programação Shell Script e 1 01-02-2006 10:45
como verificar se o arquivo existe ou não? gusla UNIX para Dummies Perguntas & Respostas 3 03-27-2002 10:56

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 03-05-2008
weonpc weonpc is offline
Usuário
  
 

Join Date: Mar 2008
Posts: 1
Como verificar diretório existem em servidores

Existem muitos servidores e seus diretório structer deverá ser exactamente o mesmo. Para verificar o caminho para todos os servidores, escrevi um script.


Código:
#! /bin/ksh

ARRAY_DIRECTORIES[1]="/c/dev/custom/bin"
ARRAY_DIRECTORIES[2]="/c/dev/db/custom/src"

ARRAY_ENV[1]="remoteName200" 
ARRAY_ENV[2]="remoteName201"
ARRAY_ENV[3]="remoteName202"

integer DIR_INDEX=0
integer ENV_INDEX=0

while(($ENV_INDEX<3))
do
	ENV_INDE=`expr $ENV_INDE+1`
	
	ssh "${ARRAY_ENV[$ENV_INDE]}"

	while (($DIR_INDEX<2))
	do
		DIR_INDEX=`expr $DIR_INDEX + 1`
	
		if [ ! -d "${ARRAY_DIRECTORIES[$DIR_INDEX]}" ]
		then
			#do something
		fi
	done
done

Eu sou novo para Shell Script, talvez estou fazendo algo realmente estúpido e precisamos de sua ajuda.

O script faz ssh para o servidor sem pedir senha (eu coloquei uma chave para o ssh. Ssh).

Obrigado
Mike
  #2 (permalink)  
Old 03-05-2008
Smiling Dragon's Avatar
Sorridente Dragão Smiling Dragon is offline Forum Advisor  
Desorganizada Usuário
  
 

Join Date: Nov 2007
Localização: Nova Zelândia
Lugares: 922
expr requer espaço em torno dos termos (por exemplo `expr $ ENV_INDE + 1` não `expr $ ENV_INDE 1»)
Está referindo-se aparentemente ENV_INDE e ENV_INDEX permutavelmente - parece que há um erro de datilografia ou três
ksh não é necessária para isso - você está sozinho, sem a necessidade de se restringir, basta usar sh
  #3 (permalink)  
Old 03-06-2008
Bakunin bakunin is offline Forum Staff  
Bughunter Extraordinaire
  
 

Join Date: May 2005
Localização: Na esquerda byte de / dev / kmem
Posts: 1.633
Se quiser ir para ksh (eu recomendaria que, desculpe, Smiling Dragão), você não precisa do "` expr ....`"- constrói. Além disso, você encerrar sua circuitos com base em seu conhecimento quantas entradas existem array (3, no seu caso). Você poderia fazer essa dinâmica para que você não teria de alterar o código lá se você adicionar mais entradas para o seu matrizes.

Repare que o "$ (# arr [*]}" dá-lhe o número de elementos do array" arr [] ". Dentro duplos parênteses você pode fazer inteiro matemática: "((var3 \u003d var1 + var2))". Você tem que circundam os parênteses com espaços, no entanto. "((var1. .." está errado ", ((var1. .." é ok.


Código:
typeset    arr[1]="first"
typeset   arr[2]="second"
typeset   arr[3]="third"
typeset   arr[4]="fourth"
typeset -i index=1

(( index = 1 ))
while [ $index -le ${#arr[*]} ] ; do
     print - "element to work on: ${arr[$index]}"
     (( index =+ 1 ))
done

Espero que isto ajude.

Bakunin
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 11:01.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0