Автор Тема: Bash script  (Прочетена 11005 пъти)

petar787

  • Напреднали
  • *****
  • Публикации: 15
  • Window Manager: Davidaboth
    • Профил
Bash script
« -: Mar 29, 2018, 19:14 »
Здравейте искам да попитам дали мога да създам файл без да използвам cat. Смисъл такъв да се напише скрипт и като го пусна да се създава празен файл
Активен

Acho

  • Напреднали
  • *****
  • Публикации: 5290
  • Distribution: Slackware, MikroTik - сървърно
  • Window Manager: console only
    • Профил
    • WWW
Re: Bash script
« Отговор #1 -: Mar 29, 2018, 19:32 »
touch filename

и после отваряш filename в любимия си редактор, и си го написваш вътре. Записваш и излизаш, даваш му нужните права за изпълним файл и тестваш.
Активен

CPU - Intel Quad-Core Q8400, 2.66 GHz; Fan - Intel Box; MB - Intel G41M-T2; RAM - DDR2-800, Kingston HyperX, 2X2048 MB; VC - onboard, Intel G41 Express Chipset; HDD - Toshiba, 500 GB, SATAII; SB - Realtek HD Audio; DVD-RW - TSSTcorp DVD-RW; LAN - Realtek PCI-E GBE Controller; PSU - Fortron 350 Watt.

petar787

  • Напреднали
  • *****
  • Публикации: 15
  • Window Manager: Davidaboth
    • Профил
Re: Bash script
« Отговор #2 -: Mar 29, 2018, 19:42 »
Аз имам предвид няма ли как да се направи без такива опции като cat и другите. Смисъл без вградени функции, а нещо като се използват -f -a. A също не може ли пак да се създаде скрипт и като го пуснеш и напишеш името на файла той да ти го отваря
« Последна редакция: Mar 29, 2018, 19:46 от petar787 »
Активен

4096bits

  • Напреднали
  • *****
  • Публикации: 6198
    • Профил
Re: Bash script
« Отговор #3 -: Mar 29, 2018, 20:07 »
Това не са опции. Това са команди и те служат за определено нещо. Опциите към тези команди имат вида -f, -a или нещо подобно.

Можеш да създадеш файл и така:

> testo

Ето ти го и създадения току-що файл:

ls -l testo
-rw-r--r-- 1 victor victor 0 Mar 29 20:02 testo

ls тук е командата, а опцията е -l

Какво ти пречи да създадеш файл с touch?
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

n00b

  • Напреднали
  • *****
  • Публикации: 1248
  • Distribution: OSX
  • Window Manager: 10.6, 10.8, 10.9
  • Live to hack, hack to live.
    • Профил
Re: Bash script
« Отговор #4 -: Mar 30, 2018, 02:34 »
echo "blah" > filename
Активен

mobilio - професионални мобилни приложения

petar787

  • Напреднали
  • *****
  • Публикации: 15
  • Window Manager: Davidaboth
    • Профил
Re: Bash script
« Отговор #5 -: Mar 30, 2018, 10:13 »
Добре направих го, обаче имам друг въпрос как да направя пак скрипт които да изпълнява друг скрипт. Примерно пускам скрипта и като напиша име на друг скрипт да ми го изпълни него.
Активен

spec1a

  • Напреднали
  • *****
  • Публикации: 3869
    • Профил
Re: Bash script
« Отговор #6 -: Mar 30, 2018, 11:12 »
https://www.shellscript.sh

   И други подобни хелпове можеш да си намериш в интернет.
Активен

4096bits

  • Напреднали
  • *****
  • Публикации: 6198
    • Профил
Re: Bash script
« Отговор #7 -: Mar 30, 2018, 11:33 »
Ами човека това прави. Търси в интернет и пита тук. Тук е интернет. Що просто не му каза "Оправяй се, не си малък! Има гугъл."? Това ли е линукс обността!

И за да съм съвсем честен, питай си въпросите тук или другаде, но потърси сам в интернет наистина, просто защото може никой да не погледне темата часове, а през това време няма да имаш отговор, ако не търсиш сам.

Имаш няколко варианта.

Можеш да посочиш пълния път до скрипта. Например: /home/$USER/my_scripts/script.sh
Разбира се, скрипта трябва да е изпълним файл. Можеш да го направиш такъв с
Код:
chmod +x file_name

Ако не си ти собственика на файла, ще трябва да използваш sudo.

Друг вариант е, да пъхнеш скрипта в /usr/bin и понеже тази директория е включена в $PATH, можеш директно да го изпълниш, без да трябва да пишеш пълния път до него.

Трети вариант е да оставиш скрипта, където си е и да направиш линк към него в /usr/bin

Код:
ln -s /home/$USER/my_sripts/script.sh /usr/bin/script

Така ще имаш линк наречен script където е нужно, за да можеш да го изпълниш, само като напишеш името на линка. Може би и линка трябва да направиш изпълним, не съм сигурен.

За да изпълниш един скрипт от друг скрипт просто трябва да го извикаш. Ако скрипта не е изпълним го даваш на bash:

Код:
#!/usr/bin/bash
#

bash /home/my_scripts/script.sh

Ако скрипта е изпълним, просто го пляскаш там:

Код:
#!/usr/bin/bash
#

/home/my_scripts/script.sh

Ако си избрал варианта със създаването на линк, просто пишеш на мястото на пълния път script или каквото там смислено име си избрал и това е.

Това е, което аз зная.
« Последна редакция: Mar 30, 2018, 11:36 от 4096bits »
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

petar787

  • Напреднали
  • *****
  • Публикации: 15
  • Window Manager: Davidaboth
    • Профил
Re: Bash script
« Отговор #8 -: Mar 30, 2018, 11:50 »
Търсил съм но не мога да намеря, затова пиша тука. Имам следната задача да се създаде shell скрипт предоставяща среда за създаване, редактиране, компилиране и изпълнение на файлове на базата на меню. Грешките при компилиране да се записват в отделен файл. Това с създаването и редактиране съм го направил. С компилирането също мисля че е направено, обаче това с изпълнение на файл не съм. И до колкото разбирам примерно избирам от менюто за изпълнение на файл и пиша името и той да ми стартира скрипта. Поне аз така го разбирам. И мисля че това не трябва да се прави с готови функции, а един вид аз да я напиша функцията
« Последна редакция: Mar 30, 2018, 11:52 от petar787 »
Активен

spec1a

  • Напреднали
  • *****
  • Публикации: 3869
    • Профил
Re: Bash script
« Отговор #9 -: Mar 30, 2018, 12:12 »
   За да постигнеш всичко това,е необходимо много четене,моят коментар
съвсем не беше злобен,просто насочващ.
   Ако си съвсем начинаещ,наистина много трябва да се образоваш,няма
как да питаш за всяка малка стъпка (стъпките са много),просто,
сядаш,четеш и се упражняваш ...
Активен

4096bits

  • Напреднали
  • *****
  • Публикации: 6198
    • Профил
Re: Bash script
« Отговор #10 -: Mar 30, 2018, 12:14 »
Какви готови функции?
И така преразказано, заданието не те ограничава, как точно да изпълниш файла. Имаш да направиш менютата, компилирането, съхраняването на грешките и изпълнението на файла. Не е казано как, така ли? Е, ако е така, значи е оставено на теб, да решиш, как ще го направиш да функционира.
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

makeme

  • Напреднали
  • *****
  • Публикации: 895
  • Distribution: Many
  • Window Manager: KDE
    • Профил
Re: Bash script
« Отговор #11 -: Mar 30, 2018, 23:59 »
Ако не се получава всичко описано отгоре, пробвай това:

Код:
/path/to_script/./script.sh

Това ти е пътя към скрипта (който искаш да пуснеш в другия скрипт), при уговорката че преди това си го направил изпълним.(за повече яснота -  поста на @4096bits)

Цитат
chmod +x script.sh
« Последна редакция: Mar 31, 2018, 00:17 от makeme »
Активен

Distributions:  UbuntuMate; Kubuntu; CentOS; Kali; Raspberry Pi OS ...

4096bits

  • Напреднали
  • *****
  • Публикации: 6198
    • Профил
Re: Bash script
« Отговор #12 -: Mar 31, 2018, 03:00 »
Ако не се получава всичко описано отгоре, пробвай това:

Код:
/path/to_script/./script.sh

Това ти е пътя към скрипта (който искаш да пуснеш в другия скрипт), при уговорката че преди това си го направил изпълним.(за повече яснота -  поста на @4096bits)

Цитат
chmod +x script.sh

Имаш предвид

Код:
cd /path/to_script/
./script.sh

?
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

Yasen6275

  • Напреднали
  • *****
  • Публикации: 553
    • Профил
Re: Bash script
« Отговор #13 -: Mar 31, 2018, 08:53 »
Ако не се получава всичко описано отгоре, пробвай това:

Код:
/path/to_script/./script.sh

Това ти е пътя към скрипта (който искаш да пуснеш в другия скрипт), при уговорката че преди това си го направил изпълним.(за повече яснота -  поста на @4096bits)

Цитат
chmod +x script.sh

Имаш предвид

Код:
cd /path/to_script/
./script.sh

?
Що трябва да влиза в директорията в която е скрипта? Спокойно си пишеш директорията"/"името на скрипта и нямаш грижи. При положение че скрипта който пишеш има права да чете и изпълнява другия, разбира се.
Активен

4096bits

  • Напреднали
  • *****
  • Публикации: 6198
    • Профил
Re: Bash script
« Отговор #14 -: Mar 31, 2018, 10:51 »
Каква е тази точка тогава по средата на пътя до файла?

/path/to_script/./script.sh
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
BASH - Script
Общ форум
blind_fish 3 3930 Последна публикация Nov 04, 2002, 20:20
от
bash script
Хардуерни и софтуерни проблеми
flame 6 4118 Последна публикация Sep 02, 2004, 12:28
от mimosh
bash script
Общ форум
anger 4 3674 Последна публикация Mar 06, 2005, 20:01
от anger
Помощ за bash script
Хардуерни и софтуерни проблеми
Ivan_storm 4 3613 Последна публикация May 30, 2005, 12:31
от rpetrov
bash script за праверяване на процес
Общ форум
sys7em 8 4162 Последна публикация Aug 09, 2005, 15:39
от