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 Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Awk сценария в DOS и Linux ведет себя иначе: ( vidyak Windows И DOS: Вопросы И Обсуждения 2 04-01-2009 12:07 PM
"$ переменная" не ведет себя как строка в моем скрипте yabhi_22 UNIX для чайников Вопросы И Ответы 3 02-06-2009 01:20 PM
Сценарист-разному ведут себя на двух серверах mhssatya UNIX перспективных И опытных пользователей 5 09-13-2006 03:28 PM
Сценарист-разному ведут себя в Crontab .. newtoxinu Shell программирование и сценарии 4 10-01-2004 02:22 PM
Сценарист-разному ведут себя в Crontab .. newtoxinu UNIX перспективных И опытных пользователей 1 09-30-2004 05:00 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 04-22-2009
lavascript lavascript is offline
Зарегистрированный пользователь
  
 

Регистрация: Апрель 2009
Сообщений: 47
Thumbs down Почему переменная-разному ведут себя в KSH сценарий.

Ребята меня есть странное поведение с командой вывода сохраняются в переменной, а не файл TMP.

1. Я сосать вывода команды в переменную

Пример вывода команды

Код:
# cleanstats

DRIVE INFO:
----------

Drv    Type      Mount Time  Frequency   Last Cleaned         Comment
***    ****      **********  *********   ****************     *******
  0    hcart3*   51.9        0                N/A
  1    hcart3*   55.9        0                N/A
  2    dlt*      0.8         0                N/A
  3    dlt*      0.0         0                N/A
  4    dlt*      0.2         0                N/A
  5    dlt*      0.0         0                N/A

MEDIA INFO:
----------

media   media  robot  robot  robot  side/  optical  # mounts/      last
 ID     type   type     #    slot   face   partner  cleanings    mount time
-------------------------------------------------------------------------------
CLN206  DLT_CL NONE     -      -     -       -           0     12/26/2001 08:22
CLN207  DLT_CL NONE     -      -     -       -           0     03/10/2002 10:00
CLN205  DLT_CL NONE     -      -     -       -           0     08/18/2002 06:40
CLN703  DLT_CL NONE     -      -     -       -           0     03/29/2003 05:11
CLN701  DLT_CL NONE     -      -     -       -          20     00/00/0000 00:00
CLN635  DLT_CL NONE     -      -     -       -           0     11/21/2003 04:32
CLN219  DLT_CL NONE     -      -     -       -           0     07/13/2004 06:25
CLN636  DLT_CL NONE     -      -     -       -          14     01/22/2006 08:15
CLN211  DLT_CL TLD      1     21     -       -          12     10/31/2008 22:44
CLN209  DLT_CL NONE     -      -     -       -           0     12/13/2006 22:13
CLN210  DLT_CL NONE     -      -     -       -           0     10/19/2008 06:31
2. Я потом распечатать эту переменную на экран для отладки и его, как ожидается,
3. Я потом распечатать эту переменную в AWK заявление в случае, если испытание, и оно не работает как следует.
4. Если вывод захватили в временный и то же заявление AWK используется, но принимает ввод от tmpfile затем она работать.

Ниже код показывает в одну сторону, которая не работает и который делает. Может ли кто-нибудь пролить свет, как, почему?
Я явно пытается использовать переменные вместо tmpfiles везде.
Я не могу понять, потому что печать заявлении для отладки производства показывает, как ожидалось.

Код:
#!/bin/ksh

....script contents, variable assignment blah blah....

# Suck clean stats to variable
CSTAT=$(cleanstats)

# Or put in tmpfile
cleanstats > ${TMPFILE}

print "CSTAT contains [${CSTAT}]"  #DBG

# Check tape exists in library with free cleanings
# If tape is in unit but with no cleanings OR
# If tape is NOT in unit (TLD), the string returned is empty thus matching -z test

# (section 1)
if [[ -z "$( print ${CSTAT} | nawk '$3 == "TLD" && $8 != "0" {print}' )" ]];then
      .... do stuff ....
fi

# Above doesnt work, but below does

# (section 2)
#if [[ -z "$( nawk '$3 == "TLD" && $8 != "0" {print}' < ${TMPFILE} )" ]];then
#      .... do stuff ...
#fi
Использование образца производства выше, приведет к первой части матча, когда оно не должно, однако во втором разделе работы и просто проходит мимо, если.

Любой пролить свет на это? IFS устанавливается как строки в качестве стандарта.

Ура

Последний раз редактировалось lavascript; на 04-22-2009 10:23 AM..
Old 04-22-2009
lavascript lavascript is offline
Зарегистрированный пользователь
  
 

Регистрация: Апрель 2009
Сообщений: 47
Red face

Странно достаточно просто настройка МФСМЦ ничего, похоже, он фиксированный.

Я не совсем уверен, почему, но он собрал вокруг поле разделителя.

Я попробовал сделать так: --

Код:
oldIFS=$IFS
IFS="\n\r"

if [ ....blah

IFS=$oldIFS
. заметили и она работала правильно, но на выходе из печати AWK вести N и R's.

Путем проб и ошибок я нашел настройки
Код:
IFS=""
сделал свою работу.

Любое лицо, знать, почему?

ура
Closed Thread

Закладки

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

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

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

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




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