Модераторы: powerfox, ZeeLax

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> простая задача на языке bash 
V
    Опции темы
BlackRu
Дата 31.10.2009, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 14.9.2009

Репутация: 2
Всего: 4



Это и есть конвеер:
конвеер 
Про awk можно посмотреть Википедии.

Можно почитать до полного просветления:
Advanced bash script guide

Как зациклить скрипт? Я не берусь рассматривать это с точки зрения православного программирования, но вполне идентификатор выполнения функции можно воткнуть в саму функцию

Код

INFO()
{
echo Введите имя файла информацию о котором хотите узнать:
read INPUT
ls -all $INPUT | awk  '{printf  $5}'; echo "" байта
INFO
}


но можно зациклить сам  скрипт, так как кнопка выход все равно есть, воткнув вместо INFO имя скрипта, по которому он вызывается. Это может быть не очень правильно (так как порождается много процессов), но теоретически не должно вызвать проблем. Все зависит от целей.
Можно сделать несколько отдельных скриптов и перемещаться между ними, корректно завершая предыдущие.

Теперь мне поясните, пожалуйста, про -e. Что это? 



Это сообщение отредактировал(а) BlackRu - 15.11.2009, 04:11


--------------------
Удалена администрацией форума
PM MAIL WWW Skype   Вверх
An123
Дата 31.10.2009, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 17.10.2009

Репутация: нет
Всего: нет



Спасибо за развернутый ответ smile  (правда от ссылки на конвеер мне чуть плохо не стало  smile )
Код

Теперь мне поясните, пожалуйста, про -e. Что это? 

про -e если честно объяснить сложно поскольку эта реализации 
была самым наглым образом позаимствована из другой проги 
PM MAIL   Вверх
BlackRu
Дата 31.10.2009, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 14.9.2009

Репутация: 2
Всего: 4



А что не так со ссылкой на конвеер?

Все верно -e = exist.

Мне не приходилось пользоваться. 

Еще курить man test 
И мне тоже. smile

А проверка наличия файла тогда так:

Код

OPEN()
{
echo Введите имя файла
read INPUT
if [ -e  $INPUT ]; then
cat $INPUT
else
echo "Нету такого файла";
continue
fi
exit
}


Это сообщение отредактировал(а) BlackRu - 31.10.2009, 22:59


--------------------
Удалена администрацией форума
PM MAIL WWW Skype   Вверх
powerfox
Дата 31.10.2009, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 26
Всего: 97



Цитата(An123 @  31.10.2009,  19:30 Найти цитируемый пост)
5 - это что? 

Столбец.


--------------------
user posted image
PM WWW   Вверх
BlackRu
Дата 1.11.2009, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 14.9.2009

Репутация: 2
Всего: 4



Хотя нет, не особенно процессы плодятся. Тогда можно так:
Код

OPEN() 
{
echo Введите имя файла
read INPUT
if [ ! -e $INPUT ]; then
echo Нету такого файла; OPEN
elif [  -e  $INPUT ]; then
cat $INPUT
continue
fi
}


Была еще функция return 
но не могу вспомнить было ли это в Bash smile И было ли?! В общем почти риторический вопрос

Все понял, где ты взял этот пример, но там четко сказано:

# if no 'break' here, keeps looping forever.
В общем удали break в конце и будешь счастлив.

P.S. Да, если проблема была решена, просьба - пометить вопрос как решенный.  


Это сообщение отредактировал(а) BlackRu - 1.11.2009, 18:17


--------------------
Удалена администрацией форума
PM MAIL WWW Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0441 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.