![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Bash Shell для SH Shell в скрипте | saurabh84g | Shell программирование и сценарии | 8 | 08-29-2008 06:51 AM |
| разные оболочки csh Bash | ajp7701 | Shell программирование и сценарии | 1 | 04-18-2008 05:19 PM |
| С корпусом, а Bash | ajp7701 | Shell программирование и сценарии | 0 | 03-18-2008 04:15 PM |
| Bash Shell | BG_JrAdmin | Linux | 1 | 08-07-2006 02:56 PM |
| Баш оболочку ... | VijayHegde | Shell программирование и сценарии | 2 | 06-06-2006 09:09 AM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Баш оболочки трубопровода
Привет всем,
Я новичок в Баш. Я пытаюсь получить югу строка переменной в скрипте. Хотя пытаюсь делать, что я получаю следующую ошибку: -------------------------------------------------- ---------------------- OHOME: / AAA / BBB / продукт / ЭЭО . / t.sh: строка 6: / AAA / BBB / продукт / ЭЭО: Нет такого файла или директории Oracle Base: -------------------------------------------------- ---------------------- Вот код: -------------------------------------------------- ---------------------- #! / BIN / ш OHOME \u003d / AAA / BBB / продукт / ЭЭО Эхо "OHOME:" $ OHOME O_BASE \u003d Эхо $ OHOME | AWK-F "/" '(для (i \u003d 2; I <\u003d Н.Ф.; I + +) (если ($ I \u003d\u003d "продукт") (выхода;) A \u003d A "/" $ I ;)) ' Эхо "Oracle Base:" $ O_BASE -------------------------------------------------- ---------------------- Я очень удивлен. Поскольку он не хотел "Эхо $ OHOME" Я попытался несколько вещей, как вмещающих в скобках, одноместный / двухместный котировки и т.д. Я до сих пор данная ошибка. Похоже, я не могу найти синтаксис из книги или Google ![]() Выглядит очень просто, но я застрял на этом в течение нескольких часов. Может быть, здесь специалисты могут направлять мне. Вот наша версия для Linux: <Имя> Linux 2.6.9-67.0.20.ELsmp # 1 SMP Wed Jun 18 12:40:47 EDT 2008 i686 i686 i386 GNU/Linux Рокки. |
|
||||
|
Ваша команда средства OHOME \u003d эхо и при том, что назначение находится в месте, запустите команду $ OHOME что, конечно, не является действительным команды. Для захвата вывод команды, ставит его в backticks (ASCII 96, а не регулярные прямые цитаты): Код:
O_BASE=`echo $OHOME | awk -F"/" '{for(i=2;i<=NF;i++) {if($i=="product"){exit;} a=a"/"$i; }} '`
$ OHOME должны быть надлежащим образом в двойные кавычки, узнав, что в настоящее время, и вы получите меньше сюрпризов позже (хотя в данном случае это не реально сделать разницу). Если ваша оболочка позволяет $(...) вместо backticks `...`, что, возможно, более удобным для чтения, хотя и номинально меньше портативных к наследию Bourne оболочки. Ваш скрипт AWK-видимому, не делать ничего с неопределенный артикль стороны, если вы имеете в виду захватить его, нужно печатать. Чтобы сдирать все, после первого появления /Продукт / Вы можете использовать командную подстановку механизм: Код:
O_BASE=${OHOME%/product/*}
(Ваш скрипт AWK пропускает первый компонент /AAAЗаключается в том, что намеренное? Вы можете удалить с другом, что подстановка переменных, O_BASE \u003d $ (O_BASE # / AAA)) Последний раз редактировалось эры; на 08-28-2008 03:56 PM.. Причина: замена переменной замечания |
|
||||
|
Ahhh .. Большое спасибо. Я забыл `ы, когда я копировал его со HP. Она работает с `` и $(..)
Ваше второе предложение "O_BASE \u003d $ (OHOME% / продукта / *)" работает без всех дополнительных услуг. Я не могу понять, что одно - нужно получить хорошую книгу, чтобы узнать, что синтаксис. Что касается третьей части, как эта AWK работ, он берет на себя часть до первого слэша в области: "/ AAA / BBB / продукт / EEE". В этой, AAA является вторым в области AWK и BBB является третьим области. Проблема решена. Большое спасибо за вашу помощь. |
|
||||
|
Цитата:
Таким образом, вам следует скорее использовать $(...) стиль, если вы не намерены запустить скрипт неизмененные на AIX или SunOS / Solaris' ш. |
|
|||||
|
этот Справочные карты Приложение из Дополнительно Баш сценарии руководства (http://tldp.org/LDP/abs/html/) Стала благом для меня "COS Я никогда не может вспомнить правильный синтаксис для струнного нарезки.
|
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|