|
Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Программирование на shell |
|
|
Программирование на shell
|
Студент АВТ-шник Сообщения: 100 |
Профиль | Отправить PM | Цитировать Значит так: мне надо проверить существование определённого файла на диске. делаю это так:
ls | grep <имя файла> | read $переменная if [ $переменная = ключевое значение ] ;then <что-то> fi и по другому пробовал: ls | grep имя_файла >> $переменная и в том и в другом случае в $переменной ничего не оказвыается, хотя вызов ls | grep имя_файла возвращает одно значение (тот самый файл). Что я делаю не так? |
|
------- Отправлено: 21:12, 25-11-2002 |
Пользователь Сообщения: 104
|
Профиль | Отправить PM | Цитировать имхо здесь:
Цитата:
Цитата:
|
||
Отправлено: 23:54, 25-11-2002 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Студент АВТ-шник Сообщения: 100
|
Профиль | Отправить PM | Цитировать когда убирал $ то в случае с ... >> переменная оно выводило информацию в файл с именем переменная
не то... что-то другое тут |
------- Отправлено: 00:43, 26-11-2002 | #3 |
Пользователь Сообщения: 104
|
Профиль | Отправить PM | Цитировать а... ну да..
ну, а в случае с read, по идее должно работать? |
Отправлено: 01:02, 26-11-2002 | #4 |
info man howto Сообщения: 6958
|
Профиль | Сайт | Отправить PM | Цитировать alfa=`ls | grep a`
echo $alfa |
|
------- Отправлено: 05:14, 26-11-2002 | #5 |
Студент АВТ-шник Сообщения: 100
|
Профиль | Отправить PM | Цитировать ruslandh
оно говорит что alfa не является командой блин. мож переменную надо ещё как-то объявлять? а то я не объявлял переменых и всё работает (кроме этого) |
------- Отправлено: 08:48, 26-11-2002 | #6 |
Пользователь Сообщения: 64
|
Профиль | Отправить PM | Цитировать export alfa=`ls | grep a`
echo $alfa 100% работает... |
------- Отправлено: 16:17, 26-11-2002 | #7 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Ещё проблема: запись в макефайле $переменная приводит к подстановке "еременная". Пример $LD_LIBRARY_PATH - получаем D_LIBRARY_PATH. $ удаляет себя и следующий символ. Можно обмануть $$LD_LIBRARY_PATH, подставляется $LD_LIBRARY_PATH, но воспринимается только как строковая константа. Т.о. считывать переменные среды при выполнении make, а заодно и их модифицировать (export), не удаётся.
Из командной строки - всё нормально. |
------- Отправлено: 05:44, 28-11-2002 | #8 |
Guest |
Цитата:
Можно сразу<b> if [ -f <имя файла> ] then <что-то> fi </b> или <b> if find <откуда искать> <имя файла> then <что-то> fi </b> |
|
Отправлено: 14:43, 07-02-2003 | #9 |
Unix-оид Сообщения: 141
|
Профиль | Отправить 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. Вариантов много. |
------- Отправлено: 19:25, 07-02-2003 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|