The UNIX and Linux Forums  
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
проверить существование каталога Усть Shell программирование и сценарии 7 09-22-2008 09:49 PM
Отметьте, если существуют определенные файлы в директории, если не добавить к названию textfile SunnyK Shell программирование и сценарии 1 02-07-2008 09:21 AM
Как проверить, если каталог / файл существует, используя C / C + + steven88 Программирования высокого уровня 2 01-03-2006 02:55 AM
Как проверить, если каталог / файл существует, используя C / C + + steven88 Shell программирование и сценарии 1 01-02-2006 10:45 PM
Как проверить, если файл существует или нет? gusla UNIX для чайников Вопросы И Ответы 3 03-27-2002 10:56 PM

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 Оценить Thread Режимы дисплея
Old 03-05-2008
weonpc weonpc is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2008
Сообщений: 1
Как проверить существование каталога на серверах

Есть множество серверов и их каталог structer должна быть точно такой же. Чтобы проверить путь к каталогу для всех серверов, я написал сценарий.

Код:
#! /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
Я новичок в Shell скриптов, может быть, я делаю то, действительно глупые и нужна ваша помощь.

Этот скрипт делает SSH с сервером без запроса пароля (я вставляю ключ к SSH. SSH-каталог.)

Спасибо
Майк
Old 03-05-2008
Smiling Dragon's Avatar
Улыбка дракона Smiling Dragon is offline Forum Advisor  
Disorganised пользователя
  
 

Регистрация: Nov 2007
Место проведения: Новая Зеландия
Сообщений: 922
Expr требуется пространство вокруг терминов (например, `Expr $ ENV_INDE + 1` `Expr не ENV_INDE $ 1`)
Вы находитесь в виду ENV_INDE и ENV_INDEX взаимозаменяемо, казалось бы, - она похожа на опечатку или три там
KSH, не требуется для этого - вы ограничивая себя не нужно, просто используйте SH
Old 03-06-2008
Бакунин bakunin is offline Forum Staff  
Bughunter Extraordinaire
  
 

Регистрация: May 2005
Расположение: в крайнем левом байт / Dev / KMEM
Сообщения: 1628
Если вы хотите перейти на KSH (я хотел бы рекомендовать, чтобы, извините, улыбаясь Dragon), вам не нужны "` Expr ....`"- строит. Кроме того, вы прекратить петель в зависимости от знаний, сколько элементов массива Есть (3 в вашем случае). Вы можете сделать это динамичный, чтобы вы не придется менять код, если вы добавите больше записей ваших массивов.

Отметим, что "$ (# обр [*]}" дает количество элементов в массиве" обр [] ". Внутри двойных скобок можно сделать целое математике: "((var3 \u003d var1 + var2))". Вы должны окружить скобки с пробелами, однако. "((var1. .." неправильно ", ((var1. .." все в порядке.

Код:
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
Я надеюсь, что это помогает.

Бакунин
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 06:03 PM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0