LINUX.ORG.RU

Простейший скрипт на баше

 


0

1

Пишу небольшой скриптик на баше. Делаю впервые, поэтому глупые вопросы:

1) как сделать, чтобы выбиралось любое имя файла, состоящее из 3-х букв?

2) нужно сделать скрипт, чтобы он удалял при выключении пк файл из любых 3-х букв, сделанный первым скриптом?


как сделать, чтобы выбиралось любое имя файла, состоящее из 3-х букв?

Кем, откуда и для чего?

it-nativa
()
Ответ на: комментарий от nanoolinux

Мне надо название соединения. Я предполагаю, что должно быть так:

pptpsetup --create (здесь какая-то команда, чтобы сделать любые 3 буквы) ...

ArturK
() автор топика
Ответ на: комментарий от ArturK

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

Но меня не покидает ощущение, что ты что-то делаешь не так )

it-nativa
()

Объясни людям задачу нормально. Ты штаны через голову пытаешься надеть, сам не справляешься и просишь чтоб помогли.

anonymous
()

Что-то я всех путаю в самом деле. Вот набросок скрипта:

#!/bin/bash
killall NetworkManager
/etc/rc.d/rc.inet1 restart
pptpsetup --create имятуннеля --server сервер --username логин --password пароль 
route replace default dev ppp0
Нужно или чтобы «имятуннеля» выбиралось случайно, либо сделать какое-нибудь статичне «имятуннеля» и удалять его при выключении пк. nanoolinux it-nativa

ArturK
() автор топика
Последнее исправление: ArturK (всего исправлений: 1)

Что за ОС то? Если умеет инитскрипты, то клади скрипт в /etc/rc.{0,6}d/, номера соответствуют уровням инициализации системы, как наименовать разберешься. Таким образом строится запуск для второго пункта.

Касаемо самого кода - опиши задачу подробнее.

alozovskoy ★★★★★
()
Ответ на: комментарий от it-nativa

Почему-то у меня нормально поднимается только новое подключение, а уже созданное не включается. Раз хоть как-то работает решил сделать костыль.

ArturK
() автор топика
Ответ на: комментарий от ArturK
tunnelname=$(mktemp -u XXX)
pptpsetup --create ${tunnelname} --server сервер --username логин --password пароль

Выше все правильно сказали насчет man mktemp

dexpl ★★★★★
()
Ответ на: комментарий от ArturK

Проглядел...

Логин\пароль\имя_соединения зависят друг от друга? А то я бы советовал perl использовать....

alozovskoy ★★★★★
()
Ответ на: комментарий от ArturK

Нужно или чтобы «имятуннеля» выбиралось случайно

TUN=$RANDOM
echo $TUN >/var/run/TUN.NAME
# тут открываешь туннель


# вот так можно распечатать имя туннеля:
echo $(cat /var/run/TUN.NAME)

drBatty ★★
()
Ответ на: комментарий от ArturK

Не совсем понял, как это в скрипт воткнуть. =(

Как вставить в текстовый файл одну строчку вам непонятно???

В переменной TUN будет число 100..999. Случайное.

Это просто остаток от деления на 1000, и в цикле, если <100, то повторяем снова. В начале должно-быть пусто, т.е. 0.

ЗЫЖ работает только в bash'е, в POSIX не работает.

drBatty ★★
()
Ответ на: комментарий от drBatty

Да ступил, извиняюсь. Всё работает спасибо.

ArturK
() автор топика
Ответ на: комментарий от ArturK

Почему-то у меня нормально поднимается только новое подключение, а уже созданное не включается.

Вот это ты и должен пофиксить, а не пытаться «штаны через голову одевать».

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.