Bash (небольшой вопрос)

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Ответить
Аватара пользователя
SANTA
Сообщения: 181
ОС: GNU/Linux

Bash (небольшой вопрос)

Сообщение SANTA »

Такая проблема:
Есть скрипт, написаный как вы поняли на shell, для облегчения работы "чайников". Использующий конструкцию
Главное меню -
|
-Вопрос-
|
-Варианты ответов (как ответят происходит действите)
Ну и так далее....
При выборе ответа, происходит действие и скрипт заканчивает работу. Можно-ли как-то сделать так, чтоб после выбранного действия, работа снова возвращалась главному меню?
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Bash (небольшой вопрос)

Сообщение Goodvin »

Как вариант - завернуть это все в конструкцию while..do
Выход из этого цикла повесить на еще один пункт "главного меню".
В главное меню добавить этот самый пункт.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Bash (небольшой вопрос)

Сообщение serzh-z »

В смысле? Интересует есть ли goto в bash? Нет, такого нет. Можно использовать do для возврата в меню, пока юзер не захочет явно завершить скрипт.
Спасибо сказали:
Аватара пользователя
SANTA
Сообщения: 181
ОС: GNU/Linux

Re: Bash (небольшой вопрос)

Сообщение SANTA »

Ясно, спасибо.
Спасибо сказали:
Аватара пользователя
SANTA
Сообщения: 181
ОС: GNU/Linux

Re: Bash (небольшой вопрос)

Сообщение SANTA »

Еще один вопросик
Есть файл, например такого вида:

Код: Выделить всё

test12
test13
test1
test15
test111

Нужно из этого файла удалить только строчку test1.
Пробовал так:
sed -i "/test1/d" nazv_faila
Но он как ясно удаляет все строчки соответствующие шаблону.
Помогите разрешить проблему.
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Bash (небольшой вопрос)

Сообщение Uncle_Theodore »

SANTA писал(а):
13.03.2007 12:18
Еще один вопросик
Есть файл, например такого вида:

Код: Выделить всё

test12
test13
test1
test15
test111

Нужно из этого файла удалить только строчку test1.
Пробовал так:
sed -i "/test1/d" nazv_faila
Но он как ясно удаляет все строчки соответствующие шаблону.
Помогите разрешить проблему.

Так попробуй

sed -i "/test1$/d" nazv_faila
Спасибо сказали:
Аватара пользователя
SANTA
Сообщения: 181
ОС: GNU/Linux

Re: Bash (небольшой вопрос)

Сообщение SANTA »

спасибо, то что нужно :)
Спасибо сказали:
Аватара пользователя
SANTA
Сообщения: 181
ОС: GNU/Linux

Re: Bash (небольшой вопрос)

Сообщение SANTA »

Так, теперь еще одна проблемка:
Если этот файл принимает форму:

Код: Выделить всё

test12    users
test13    users
test1      users
test15    users

То
sed -i "/test1$/d" file_name
уже не прокатывает. Как быть в таком случае?
Спасибо сказали:
Аватара пользователя
uptime
Сообщения: 1661
Статус: Drinker with computing problems
ОС: kubuntu 8.04

Re: Bash (небольшой вопрос)

Сообщение uptime »

sed -i "/test1 /d" file_name
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
Спасибо сказали:
Аватара пользователя
SANTA
Сообщения: 181
ОС: GNU/Linux

Re: Bash (небольшой вопрос)

Сообщение SANTA »

uptime писал(а):
13.03.2007 13:10
sed -i "/test1 /d" file_name

хех, действительно :)
спасибо.
Спасибо сказали:
Ответить