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 Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
RSH сценарий с внутрь для петель trekianov Shell программирование и сценарии 5 12-06-2008 12:39 PM
в то время как петля проблем amatuer_lee_3 Shell программирование и сценарии 7 05-13-2008 12:48 AM
Сценарий, не исполнителей второй цикл явная ложь Shell программирование и сценарии 2 05-07-2008 04:10 PM
Хотя проблемы, петля rcunn87 Shell программирование и сценарии 0 06-20-2006 04:26 PM
не совсем уверены в том, как петля на этот скрипт! moxxx68 Shell программирование и сценарии 3 09-09-2004 07:00 AM

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 09-15-2007
lodey lodey is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2007
Сообщений: 29
Проблемы со если / тогда петля внутри скрипта

Привет там,

Я написал скрипт, чтобы очистить лог файлов с VAR / TMP реж. Она работает до определенного момента. Что мне необходимо сделать, это выйти из сценария, если нет файлов, которые будут удалены. Я могу получить эту работу над сценарием испытания, но когда я его осуществления в моей программе ошибки с A `` а затем не соответствует ошибке. Я обнаружить его в строке: если [TEMP \u003d "0"], затем

Может ли кто-то есть смотреть на него и teel мне, где я пошел неправильно или точкой меня в нужном направлении

Rgds
Колин

Вот отрывок из сценария, который я создал:

#! / BIN / ш
#
# Установка локальных переменных
USER \u003d `/ USR / BIN / whoami`
СЧЕТ \u003d Спецификации
HostName \u003d `/ USR / BIN / хоста`
ДАТА \u003d `/ USR / BIN / дата" +% Y% M% D "`
TEMP \u003d `найти / VAR / TMP / название" жемчужины * "-atime +3 | WC-L`
TEMPALL \u003d `найти / VAR / TMP /-atime +3 | WC-L`
# Purge старые файлы журнала
Найти / пользователей / agaff / nospace / журналы / название "*. TXT"-atime +1 | xargs RM-F
# Главный экран
ясный
Эхо "<1> Удалить ПРВЖ лог файлы на хост:" $ HostName
Эхо "<2> Удалить все файлы в / VAR / TMP (обслуживание только)"
Эхо "<3> Выход - нет файлов для удаления"
Эхо ""
Эхо "Введите 1 или 2 или 3"
читать ОТВЕТ
если [$ ОТВЕТ \u003d "1"], затем
ясный
Эхо "Изучение регистрации файлов для пребывания:" $ HostName
Эхо ""
если [$ TEMP \u003d "0"], затем # (это когда он из бомб)
эхо
эхо
Эхо "************************************************ *** "
Эхо "Есть лог файлов не будет удалена из хост:" $ HostName
эхо
Элиф [$ TEMP> "0"];
тогда
Эхо "***********************************************"
Эхо "Есть" $ TEMP "лог файлов, которые могут быть исключены из хост:" $ HostName
Эхо ""
Эхо ""
Эхо "<1> Удалить ПРВЖ лог файлы на хост" $ HostName "в / VAR / TMP директорию"
Эхо "<2> Выход - нет файлов для удаления"
Эхо ""
Эхо "Введите 1 или 2"
Эхо ""
читать ANS1
если [$ ANS1 \u003d "1"], затем
ясный
Эхо ""
Эхо ""
Эхо "Удаление ПРВЖ лог файлы журнала"
mkdir-п / пользователей / agaff / nospace / Журналы /
Найти / VAR / TMP / название "жемчужины *"-atime +3> / пользователей / agaff / nospace / Журналы / $ DATE "-" $ HostName "-логов". TXT | xargs-F> / Dev / нуль 2> И 1
Эхо ""
Эхо "************************************************ ************************"
Эхо "Tmp журналы теперь исключен, а файл_журнала обновленные"
Эхо ""
Эхо ""
Элиф [$ ANS1 \u003d "2"], затем
Эхо "Выход"
еще
Эхо "Неправильный выбор, удалились ..."
выезд
FI
Old 09-15-2007
kamitsin's Avatar
kamitsin kamitsin is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2006
Местоположение: / Dev / нуль
Сообщений: 177
Бадди, его бомбили всего места.

Основными ошибками.

1) Вы делали целое comparisoin во многих местах, используя оператор неправильно.

2) Много синтаксических ошибок в эхо

3) Я не люблю структура вашего скрипта. Вы должны использовать 'дело' вместо структуры.

4) Если заявление не закрыты

Модифицированный скрипт:
PS: Я имею несколько измененный путь в скрипте, чтобы проверить на своей системе.

Код:
#!/bin/sh
#
# Set local variables
USER=`/usr/bin/whoami`
ACCOUNT=Compaq
HOSTNAME=`/usr/bin/hostname`
DATE=`/usr/bin/date "+%Y%m%d"`
TEMP=`find . -name "gem*" | wc -l`
TEMPALL=`find .  | wc -l`
# Purge old Log Files
#find /users/agaff/nospace/logs/ -name "*.txt" -atime +1|xargs rm -f
# Main Screen
clear
echo "<1> Delete GEM log files on host: " $HOSTNAME
echo "<2> Delete ALL Files in the /var/tmp ( maintenance only ) "
echo "<3> Exit - no files to be deleted"
echo ""
echo " Enter 1 or 2 or 3"
read ANSWER
if [ $ANSWER -eq "1" ]; then
clear
echo "Examining Log Files for host: " $HOSTNAME
echo ""
if [ $TEMP -eq "0" ]; then #(this is where it bombs out)
echo
echo
echo "***************************************************"
echo "There are no log files to be deleted from host:" $HOSTNAME
echo
elif [ $TEMP -gt "0" ];
then
echo "***********************************************"
echo "There are " $TEMP "log files that can be deleted from host:" $HOSTNAME
echo ""
echo ""
echo "<1> Delete GEM log files on Host" $HOSTNAME "in the /var/tmp directory"
echo "<2> Exit - no files to be deleted"
echo ""
echo " Enter 1 or 2"
echo""
read ANS1
if [ $ANS1 -eq "1" ]; then
clear
echo ""
echo ""
echo "Deleting GEM Logfiles Log Files"
#mkdir -p /users/agaff/nospace/logs/
#find /var/tmp/ -name "gem*" -atime +3 > /users/agaff/nospace/logs/$DATE"-"$HOST
NAME"-logs".txt| xargs -f >/dev/null 2>&1
echo ""
echo "************************************************************************"
echo "Tmp Logs are now deleted and logfile updated"
echo ""
echo ""
elif [ $ANS1 -eq "2" ]; then
echo "Exiting"
else
echo "Invalid selection, exiting..."
exit
fi
fi
fi
Ура,
K
Old 09-15-2007
lodey lodey is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2007
Сообщений: 29
Большое спасибо за вашу помощь

Я новичок в Unix сценариев обучения и я, как я так EVRY немного помочь приветствуется

Теперь у меня есть рабочий сценарий
Old 09-18-2007
dewets dewets is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2007
Место проведения: Сомерсет Вест, ЮАР
Сообщений: 10
Просто чтобы добавить свой 0.02c стоит:

Использовать сценарий indenting в письменном виде!!! Это делает обслуживание вашего скрипта просто СООО гораздо проще.

Пытаясь найти вложенных Элиф команду среди всех вас "эхо" с совершенно то:

#! / BIN / ш
#
# Установка локальных переменных
USER \u003d `/ USR / BIN / whoami`
СЧЕТ \u003d Compaq
HostName \u003d `/ USR / BIN / хоста`
ДАТА \u003d `/ USR / BIN / дата" +% Y% M% D "`
TEMP \u003d `найти. -название "жемчужины *" | WC-L `
TEMPALL \u003d `найти. | WC-L `
# Purge старые файлы журнала
# найдете / пользователей / agaff / nospace / журналы / название "*. TXT"-atime +1 | xargs RM-F
# Главный экран
ясный
Эхо "<1> Удалить ПРВЖ лог файлы на хост:" $ HostName
Эхо "<2> Удалить все файлы в / VAR / TMP (обслуживание только)"
Эхо "<3> Выход - нет файлов для удаления"
Эхо ""
Эхо "Введите 1 или 2 или 3"
читать ОТВЕТ
если [$ ОТВЕТ-эк "1"], затем
ясный
Эхо "Изучение регистрации файлов для пребывания:" $ HostName
Эхо ""
если [$ TEMP-эк "0"], затем # (это когда он из бомб)
эхо
эхо
Эхо "*******************************************"
Эхо "Есть лог файлов не будет удалена из хост:" $ HostName
эхо
Элиф [$ TEMP-GT "0"];
тогда
Эхо "****************************************"
Эхо "Есть" $ TEMP "лог файлов, которые могут быть исключены из хост:"
$ HostName
Эхо ""
Эхо ""
Эхо "<1> Удалить ПРВЖ лог файлы на хост" $ HostName "в / VAR / TMP директорию"
Эхо "<2> Выход - нет файлов для удаления"
Эхо ""
Эхо "Введите 1 или 2"
Эхо ""
читать ANS1
если [$ ANS1-эк "1"], затем
ясный
Эхо ""
Эхо ""
Эхо "Удаление ПРВЖ лог файлы журнала"
# mkdir-п / пользователей / agaff / nospace / Журналы /
# найти / VAR / TMP / название "жемчужины *"-atime +3> / пользователей / agaff / nospace / Журналы / $ DATE "-" $ ПРИНИМАЮЩАЯ
NAME "-логов". TXT | xargs-F> / Dev / нуль 2> И 1
Эхо ""
Эхо "*******************************************"
Эхо "Tmp журналы теперь исключен, а файл_журнала обновленные"
Эхо ""
Эхо ""
Элиф [$ ANS1-эк "2"], затем
Эхо "Выход"
еще
Эхо "Неправильный выбор, удалились ..."
выезд
FI
FI
FI



Здесь endeth наших удобочитаемости урок на сегодня ...
Closed Thread

Закладки

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

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

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

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




Часовой пояс GMT -4. Текущее время 07:47 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