Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Программирование на shell

Ответить
Настройки темы
Программирование на shell

Студент АВТ-шник


Сообщения: 100
Благодарности: 0

Профиль | Отправить PM | Цитировать


Значит так: мне надо проверить существование определённого файла на диске. делаю это так:
ls | grep <имя файла> | read $переменная
if [ $переменная = ключевое значение ] ;then
<что-то>
fi

и по другому пробовал:
ls | grep имя_файла >> $переменная

и в том и в другом случае в $переменной ничего не оказвыается, хотя вызов ls | grep имя_файла возвращает одно значение (тот самый файл). Что я делаю не так?

-------
- Ты член сопротивления? - Я не член сопротивления, Я его мозг!


Отправлено: 21:12, 25-11-2002

 

Пользователь


Сообщения: 104
Благодарности: 0

Профиль | Отправить PM | Цитировать


имхо здесь:
Цитата:
ls | grep <имя файла> | read $переменная
и здесь:
Цитата:
ls | grep имя_файла >> $переменная
перед именем переменной не нужен символ '$', но могу ошибаться


Отправлено: 23:54, 25-11-2002 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Студент АВТ-шник


Сообщения: 100
Благодарности: 0

Профиль | Отправить PM | Цитировать


когда убирал $ то в случае с ... >> переменная оно выводило информацию в файл с именем переменная
не то... что-то другое тут

-------
- Ты член сопротивления? - Я не член сопротивления, Я его мозг!


Отправлено: 00:43, 26-11-2002 | #3


Пользователь


Сообщения: 104
Благодарности: 0

Профиль | Отправить PM | Цитировать


а... ну да..

ну, а в случае с read, по идее должно работать?

Отправлено: 01:02, 26-11-2002 | #4


Аватара для ruslandh

info man howto


Сообщения: 6958
Благодарности: 384

Профиль | Сайт | Отправить PM | Цитировать


alfa=`ls | grep a`
echo $alfa

-------
Поспешай не торопясь


Отправлено: 05:14, 26-11-2002 | #5


Студент АВТ-шник


Сообщения: 100
Благодарности: 0

Профиль | Отправить PM | Цитировать


ruslandh
оно говорит что alfa не является командой
блин. мож переменную надо ещё как-то объявлять? а то я не объявлял переменых и всё работает (кроме этого)

-------
- Ты член сопротивления? - Я не член сопротивления, Я его мозг!


Отправлено: 08:48, 26-11-2002 | #6


Пользователь


Сообщения: 64
Благодарности: 0

Профиль | Отправить PM | Цитировать


export alfa=`ls | grep a`
echo $alfa

100% работает...

-------
///Demon///


Отправлено: 16:17, 26-11-2002 | #7


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


   Ещё проблема: запись в макефайле $переменная приводит к подстановке "еременная". Пример $LD_LIBRARY_PATH - получаем D_LIBRARY_PATH. $ удаляет себя и следующий символ. Можно обмануть $$LD_LIBRARY_PATH, подставляется $LD_LIBRARY_PATH, но воспринимается только как строковая константа. Т.о. считывать переменные среды при выполнении make, а заодно и их модифицировать (export), не удаётся.
   Из командной строки - всё нормально.

-------
Alexej


Отправлено: 05:44, 28-11-2002 | #8


Аватара для Guest

Guest


Профиль | Цитировать


Цитата:
ls | grep <имя файла> | read $переменная
if [ $переменная = ключевое значение ] ;then
<что-то>
fi
и по другому пробовал:
ls | grep имя_файла >> $переменная
Зачем же так сложно?
Можно сразу<b>
if [ -f <имя файла> ]
then
<что-то>
fi </b>
или <b>
if find <откуда искать> <имя файла>
then
<что-то>
fi </b>

Отправлено: 14:43, 07-02-2003 | #9


Unix-оид


Сообщения: 141
Благодарности: 0

Профиль | Отправить PM | Цитировать


#!/bin/sh

echo "type: d - directory , f - file ,\r";
echo "\rl - link, b - block, p - pipe ";
read type;

echo "search name ?";
read search;

find=`find / -name $search -type $type`;

echo "result :";

echo $find;

Для применения к каждому найденому файлу какой-либо команды - можно добавить к финду параметр -exec (имхо).

P.S. Вариантов много.

-------
[b] Угадывай[b]


Отправлено: 19:25, 07-02-2003 | #10



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Программирование на shell

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
RunPad Shell 6.83 OSZone Software Новости программного обеспечения 0 30-12-2009 17:30
Интерфейс - [решено] Shell minion Microsoft Windows 2000/XP 3 31-03-2009 10:37
Проблема с Х в качестве shell noemotion Общий по FreeBSD 9 27-04-2005 13:07
Shell-заменители vs WindowsXP MikePr Программное обеспечение Windows 12 14-03-2004 01:44
SHELL доступ Surround Защита компьютерных систем 7 20-02-2004 14:42




 
Переход