Автор Тема: Как да го направя?  (Прочетена 1980 пъти)

Roky

  • Напреднали
  • *****
  • Публикации: 55
    • Профил
Как да го направя?
« -: Aug 28, 2007, 12:06 »
Значи искам да попитам как мога да направя като при някой шелове (да не казвам всички '<img'> ) С команда getpsybnc или getbnc да им копира компилирано psybnc.И също за eggdrop, getdrop или geteggdrop.Благодаря ви предварително '<img'>
Активен

console

  • Напреднали
  • *****
  • Публикации: 243
    • Профил
    • WWW
Как да го направя?
« Отговор #1 -: Aug 28, 2007, 12:33 »
Това не е толкова тудно стига да знаеш най-основните команди и да ги сложиш в един скрипт.Само неразбрах къде искаш да се копират?
Иначе отвараш текстов редактор(vi,pico,mcedit)и пишеш:
Примерен код
#!/bin/bash (или там където ти се намира bash)
cp /пътя/до фаил-а /там/където/искаш/да се копира

Кръщаваш фаил-а с името което искаш и му добавяш флаг за изпълнение
Цитат
chmod +x filename
Активен

“Ever tried. Ever failed. No matter. Try again. Fail again. Fail Better.”

Roky

  • Напреднали
  • *****
  • Публикации: 55
    • Профил
Как да го направя?
« Отговор #2 -: Aug 28, 2007, 12:51 »
И тоя скрипт каде да го слагам?Също от името му ли зависи каква ще е командата.Примерно ако го кръстя getdrop като напиша getdrop и ще го изпълнява така ли?



Активен

console

  • Напреднали
  • *****
  • Публикации: 243
    • Профил
    • WWW
Как да го направя?
« Отговор #3 -: Aug 28, 2007, 14:13 »
Цитат (Roky @ Авг. 28 2007,13:51)
И тоя скрипт каде да го слагам?Също от името му ли зависи каква ще е командата.Примерно ако го кръстя getdrop като напиша getdrop и ще го изпълнява така ли?

Да, но ще се изпълнява само когато напишеш името на фаил-а в директорията където е фаил-а.
Активен

“Ever tried. Ever failed. No matter. Try again. Fail again. Fail Better.”

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Как да го направя?
« Отговор #4 -: Aug 28, 2007, 14:25 »
Цитат

Да, но ще се изпълнява само когато напишеш името на фаил-а в директорията където е фаил-а.


Грешка. Ще се изпълни ако е извикан с пълен или релативен път. Т.е. ако се намираш в директорията, където е файла ще трябва да напишеш:

./file

за да се изпълни скрипта file.

Другият вариант е да добавиш директорията, където се намира файла в променливата PATH, но не е препоръчително.
Активен

Nikolavp

  • Напреднали
  • *****
  • Публикации: 408
    • Профил
    • WWW
Как да го направя?
« Отговор #5 -: Aug 28, 2007, 15:30 »
Цитат (Hapkoc @ Авг. 28 2007,15:25)
Цитат

Да, но ще се изпълнява само когато напишеш името на фаил-а в директорията където е фаил-а.


Грешка. Ще се изпълни ако е извикан с пълен или релативен път. Т.е. ако се намираш в директорията, където е файла ще трябва да напишеш:

./file

за да се изпълни скрипта file.

Другият вариант е да добавиш директорията, където се намира файла в променливата PATH, но не е препоръчително.

Не разбирам защо да не е препоръчително ?? mkdir ~/bin и след това в .bashrc файла слага export PATH="~/bin:${PATH}" и е готов... Вярно, че няма да работи като роот, ма той едва ли иска това.
Активен

http://blog-nikolavp.rhcloud.com - простотиите, с които се занимавам в свободното време

Roky

  • Напреднали
  • *****
  • Публикации: 55
    • Профил
Как да го направя?
« Отговор #6 -: Aug 28, 2007, 20:02 »
Като цяло нищо не разбрах '<img'> Не ми трява за руут.Трябва ми за юзърите които ще ползват услугите на шела.За улеснение '<img'> Ако може едно по-добре обяснение кое каде трябва да пиша ще съм ви благодарен '<img'>
Активен

console

  • Напреднали
  • *****
  • Публикации: 243
    • Профил
    • WWW
Как да го направя?
« Отговор #7 -: Aug 29, 2007, 12:53 »
Цитат (Roky @ Авг. 28 2007,21:02)
Като цяло нищо не разбрах '<img'> Не ми трява за руут.Трябва ми за юзърите които ще ползват услугите на шела.За улеснение '<img'> Ако може едно по-добре обяснение кое каде трябва да пиша ще съм ви благодарен '<img'>

Е ти от това по-просто обяснение няма да намериш.
Ако ти е трудно да го разбереш в сайта има една дозина статий.
Активен

“Ever tried. Ever failed. No matter. Try again. Fail again. Fail Better.”

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Как да го направя?
« Отговор #8 -: Aug 29, 2007, 13:22 »
Цитат (Roky @ Авг. 28 2007,21:02)
Като цяло нищо не разбрах '<img'> Не ми трява за руут.Трябва ми за юзърите които ще ползват услугите на шела.За улеснение '<img'> Ако може едно по-добре обяснение кое каде трябва да пиша ще съм ви благодарен '<img'>

Извинявай, но не можеш да разбереш елементарни неща, а искаш да предлагаш шел достъп на потребители. Попрочети малко книги (по-точно много) и задавай въпроси.
П.П. защото "Като цяло нищо не разбрах" е твърдение :-)



Активен

0x2B|~0x2B

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Как да го направя?
« Отговор #9 -: Aug 29, 2007, 13:43 »
@Nikolavp

Не съм се изразил съвсем правилно. Има случаи, в които не е подходящо да се бърника PATH променливата, има и такива в които е ок.
Активен

bnight

  • Напреднали
  • *****
  • Публикации: 313
  • Distribution: Ubuntu 8.10
  • Window Manager: KDE 3.5.10
    • Профил
    • WWW
Как да го направя?
« Отговор #10 -: Aug 29, 2007, 14:16 »
а защо трябва да базика path променливата. един Alias в bashrc и е готов.
Активен

Registered Linux user: 473460
http://skyhost.bg - Хостинг и Домейни

crasher5

  • Напреднали
  • *****
  • Публикации: 100
    • Профил
Как да го направя?
« Отговор #11 -: Aug 29, 2007, 14:52 »
Много приказки за нищо...:
1. Създаваш един файл където решиш просто запомни пътя. Пример /home/user/Desktop/myname
2. Започни файла както ти казаха: #!/bin/bash , като след това в скипта да следва кодът, които искаш да бъде изпълнен. Примерно echo This is my name!
3. За да не се налага да "разбутваш" РАТН променливата, просто създай една нова такава като за целта се използва export MY_NAME="sh /home/user/Desktop/myname". Важно е само да не забравяш, че с всеки рестарт трябва да създаваш нова променлива.
4. И ето, пишеш в конзолата: $MY_NAME ... и си готов.

Естествено преди да почне всичката критика, давам прост, но обучителен отговор. Ако се интересуваш от нещо по-сложно (как да предаваш параметри, как да не се налага на всеки рестарт да създаваш променливата, и тн.) знаеш, че в google никой не крие нищо от теб. Бъди малко по-любопитен и карай нататък...
Активен

Roky

  • Напреднали
  • *****
  • Публикации: 55
    • Профил
Как да го направя?
« Отговор #12 -: Aug 29, 2007, 15:37 »
Мене ми е ясно как да го направя след рестарт да не пиша.Просто преди това бяха писали целия отговор твоя в 5 пост-а и нищо не можех да им разбера.Както и да е твоя пример ми стана ясен, но мисля че не точно това ми трява.Мен не ми пречи да компилирам eggdrop-а и psybnc-то просто исках да го направя така че потребителите които си нямат понятие от компилиране и разни такива (а такива ги има много) Да си се логнат с акаунта и като прочетат motd да видят че когоато напишат getdrop или getbnc и ще им се копира готов компилиран бот...това е цялата работа.Е чи за този скрипт има ли начин да не се изпълняват тея команди с ./ или $ пред тях.Това ми е въпроса '<img'>
А за този който пишеше че нищо не разбиарм от машината пък искам да пускам шел мисля, че не е рабрал добре '<img'> Казах че шела ще е само за няколко мои приятели и те така ще си се съберът и ще плащат парите си само за хостовете които искат.Това е повече не искат и аз не искам.Аз което съм искал от машината си съм го постигнал '<img'>



Активен

bnight

  • Напреднали
  • *****
  • Публикации: 313
  • Distribution: Ubuntu 8.10
  • Window Manager: KDE 3.5.10
    • Профил
    • WWW
Как да го направя?
« Отговор #13 -: Aug 29, 2007, 15:59 »
Цитат (Roky @ Авг. 29 2007,16:37)
Мене ми е ясно как да го направя след рестарт да не пиша.Просто преди това бяха писали целия отговор твоя в 5 пост-а и нищо не можех да им разбера.Както и да е твоя пример ми стана ясен, но мисля че не точно това ми трява.Мен не ми пречи да компилирам eggdrop-а и psybnc-то просто исках да го направя така че потребителите които си нямат понятие от компилиране и разни такива (а такива ги има много) Да си се логнат с акаунта и като прочетат motd да видят че когоато напишат getdrop или getbnc и ще им се копира готов компилиран бот...това е цялата работа.Е чи за този скрипт има ли начин да не се изпълняват тея команди с ./ или $ пред тях.Това ми е въпроса '<img'>
А за този който пишеше че нищо не разбиарм от машината пък искам да пускам шел мисля, че не е рабрал добре '<img'> Казах че шела ще е само за няколко мои приятели и те така ще си се съберът и ще плащат парите си само за хостовете които искат.Това е повече не искат и аз не искам.Аз което съм искал от машината си съм го постигнал '<img'>

Значи цялата работа е доста проста.
1. Правиш си някакъв скрипт. Да кажем getbnc който да прави това. Което искаш как да организираш самият скрипт варианти много.
2. Слагаш си го някъде.
3. Редактираш файла /etc/bashrc
И добавяш ред подобен на този.
alias getbnc = '/path/to/getbnc`

Това е единият вариант. Другият.

Влизаш в директорият /bin/
и си правиш link
ln -s /path/to/getbnc imenakomanda
Така всеки който викне imenakomanda всъщност ще изпълнява /path/to/getbnc

Горе доло това е което трябва да направиш. Успех.
Активен

Registered Linux user: 473460
http://skyhost.bg - Хостинг и Домейни

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Как да го направя?
« Отговор #14 -: Aug 29, 2007, 16:00 »
Цитат (Roky @ Авг. 29 2007,16:37)
А за този който пишеше че нищо не разбиарм от машината пък искам да пускам шел мисля, че не е рабрал добре '<img'> Казах че шела ще е само за няколко мои приятели и те така ще си се съберът и ще плащат парите си само за хостовете които искат.Това е повече не искат и аз не искам.Аз което съм искал от машината си съм го постигнал '<img'>

И след като е само за няколко души защо не го направиш на ръка? Надали толкова често ще добавяш нови приятели - KISS
Активен

0x2B|~0x2B