Kako napraviti scriptu u Linuxu?

poruka: 8
|
čitano: 5.751
|
moderatori: pirat, Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
7 godina
neaktivan
offline
Kako napraviti scriptu ???

Jel zna netko kako da napravim scriptu u linuxu umjesto da nesto stalno pisem u terminal da mogu samo kliknuti na scriptu i ona to automatski sve sama u terminalu napravi , jel zna netko ? 

 
0 0 hvala 0
14 godina
neaktivan
offline
Kako napraviti scriptu u Linuxu?

Zaboravio si mu reći ako pokrenut skriptu.

 

Dakle bash skripta.sh ili jednostavno./skripta.sh

pero_HR
Moj PC  
1 0 hvala 1
7 godina
neaktivan
offline
Re: Kako napraviti scriptu u Linuxu?

Hvala decki :D , A znam ja nju pokrenuti u terminalu ali neznam kako napraviti ju tako da samo kliknem na nju i izvrsi naredbu neku da nemoram tipkat u terminalu :D 

9 godina
neaktivan
offline
Re: Kako napraviti scriptu u Linuxu?

Ovisi koji OS imaš, ako imaš neki koji ima GUI:

1) pozicioniraš se gdje želiš da ti skripta stoji (Desktop/neki folder ...) -> desni klik -> new file -> utipkaš što trebaš -> "File -> Save as -> moja_skripta.sh/py/... ovisi u kojem jeziku si pisao skriptu" -> "ctrl+F5" i skripta se izvršava

 

Ako nemaš vizualni Desktop nego samo terminal na nekoj inačici Linuxa, moraš imati instaliran neki od editora tipa vi, nano, gedit (dosta inačica već ima predinstalirano neki od tih editora):

1) pozicioniraš se gdje želiš sa cd -> upišeš npr. nano ime_skripte.py/sh.. ili nešto drugo -> upišeš kod -> "ctrl+X" -> pita te želiš li save-at pa stisneš "yes" -> "pita te potvrdu imena skripte, stisneš "Enter"

 

i to ti je to, izašao si iz file-a, piozicioniran si gdje ti je skripta, pokretanje skripte ti je npr za python "python moja_skripta.py" i u terminalu ti se prikazuje output, ako želiš da ti se skripta vrti u pozadini opališ komandu "nohup python moja_skripta.py &" i skripta ti se vrti u pozadini a ti možeš dalje nastaviti raditi u istom terminalu ... "ps -ef" je naredba za provjeriti aktivne procese i ako želiš provjeriti da li tvoja skripta radi možeš je grep-ati (pretražiti ispis po ključnoj riječi "ps -ef | grep moja_skripta.py")

 

Bla, bla..satra sam te sritno! Za sve dodatne informacije stackoverflow najbrže

7 godina
neaktivan
offline
Re: Kako napraviti scriptu ???
bocasa kaže...

Otvori neki text editor, gedit, vi, sta god. Preporučujem da radiš u terminalu, dakle:

 

vi skripta.sh

 

#!/bin/bash
echo 'Ovo je naredba 1'

 

 

Moraš pokrenuti naredbu chmod +x skripta.sh da bi postala executable (izvršna? :D) te je nakon toga možeš pokrenuti.

 

Da ne idem u detalje, izvoli koristan link pa prouči: https://linuxconfig.org/bash-scripting-tutorial

 E kako se sprema ta scripta.sh kada ju napravim ispisem sve sta sam htjeo i neznam kako spremiti ?

 
0 0 hvala 0
11 godina
offline
Re: Kako napraviti scriptu ???
Airlive96 kaže...
bocasa kaže...

Otvori neki text editor, gedit, vi, sta god. Preporučujem da radiš u terminalu, dakle:

 

vi skripta.sh

 

#!/bin/bash
echo 'Ovo je naredba 1'

 

 

Moraš pokrenuti naredbu chmod +x skripta.sh da bi postala executable (izvršna? :D) te je nakon toga možeš pokrenuti.

 

Da ne idem u detalje, izvoli koristan link pa prouči: https://linuxconfig.org/bash-scripting-tutorial

 E kako se sprema ta scripta.sh kada ju napravim ispisem sve sta sam htjeo i neznam kako spremiti ?

 

Ne slušaj linuksaše, oni ti vole tu svoju konzolu, jer si onda izgledaju kao nekakvi hakeri.

 

Ako koristiš neku distribuciju baziranu na Gnomeu, tada koristi "gedit". Obično u start menijima bude negdje pod tim imenom ili pod "Text editor".

Ako koristiš KDE, tada će to biti "Kate".

Koristiš ih kao i bilo koji drugi normalni tekstualni editor napravljen u zadnjih 25 godina na bilo kojem drugom normalnom operativnom sustavu.

 

"vi" je alat za fanove pamćenja bespotrebnih i kompliciranih pravila.

Iz editora izlaziš tako da utipkaš :q

Da, to je prva stvar koja mi pada na pamet dok koristim tekstualni editor u 2017. godini.

 

Pokretanje skripte iz grafičkog sučelja ovisiti će o distribuciji koju koristiš i tipu "shella", jer tu je nekoliko različitih stvari u igri.

No, uvijek možeš pokušati ili dvoklik, ili ako to ne radi - desni klik, pa provjeri ima li negdje opcija "Run in terminal".

Pošto nećeš pokretati iz konzole, tada možeš na kraj skripte staviti komandu koja će pauzirati izvršavanje dok ne pritisneš neku tipku.

Tako ćeš moći vidjeti rezultat izvršavanja i je li nešto otišlo kvragu.

 

read -p "Pritisni bilo koju tipku za kraj..." biloKojaTipka

 

Ako zaglaviš, imaš "Linux pitanja i odgovori" temu, to prati više ljudi.

Poruka je uređivana zadnji put sub 1.4.2017 14:40 (Djuro von Prekoplotovich).
14 godina
neaktivan
offline
Kako napraviti scriptu u Linuxu?

Na edxu ima besplatan tečaj za osnove linuxa LFS101 koji preporučam ljudima koji žele uči dublje u Linux, dolje citiram jedan dio vezan za za kreiranje bash skripti.

 

Let's write a simple bash script that displays a one line message on the screen. Either type

$ cat > hello.sh
  #!/bin/bash
  echo "Hello Linux Foundation Student"

and press ENTER and CTRL-D to save the file, or just create hello.sh in your favorite text editor. Then, type chmod +x hello.sh to make the file executable by all users.

You can then run the script by  typing ./hello.sh or by doing:

$ bash hello.sh
  Hello Linux Foundation Student

Note if you use the second form, you do not have to make the file executable.

pero_HR
Poruka je uređivana zadnji put ned 2.4.2017 13:45 (peroko).
Moj PC  
2 0 hvala 2
12 godina
offline
Kako napraviti scriptu u Linuxu?

Pozdrav forumaši, zezam se sa jednom skriptom već satima i trebam pomoć.
Napravio sam malu skriptu koja restarta GUI od OS-a, Konkretno sadržaj skripte (bez putanje bash interpretera) je  systemctl restart lighdm. Skipta radi točno ono što i treba raditi kad ju pokrećem u terminalu sa sudo narebom (sudo ./pokretanje.sh). Ono što ja želim jest da se skipta pokreće automatski kod logina. Premjestio sam tu skriptu u svoj korisnički direktorij (~), i u datoteci .profile na putanji ~/.profile sam na kraju dodao  ./pokretanje.sh. Naravno čijela stvar nije radila jer da bi se systemctl pokrenuo treba ga pokrenuti sa naredbom sudo.  E sad, moje pitanje je kako to napraviti. Ako u sadržaj skripte stavim sudo systemctl restart light, kod pokretanja mi se pojavi crni ekran sa bijelim kursorom u gornjem lijevom uglu (treperi). Ista stvar se događa ako u datoteci .profile umjesto .pokretanje.sh stavim sudo ~/pokretanje.sh (ili sudo /home/pi/pokretanje.sh). Ako i u .profile i u skipti koristim sudo, rezultat je opet isti. Ovo mi izgleda kao se skripta nikako nemože dobiti root ovasti da se pokrene i zato se pojavljuje taj crni ekran s bijelim kursorom. U čemu je točno problem, ne znam.

 

Inače, ovo koristim na raspberrry pi-u na Debianu jer imam instaliran emulationstation (RetroPie) "na" tom OS-u. GUI i emulationstation nemogu u isto vrijeme raditi. Zato je konfigurirano da se sustav boota u CLI, automatski se prijavi kao user i iz njega pokrećem GUI ili emulationstation. Ali to mi je počelo ići na  živce pa sam složio da pod menu bar>games imam ikonu naziva RetroPie i kad na nju kliknem GUI se zatvara i otvara se emulationstation, a kad izađem iz emulation stationa opet se pokreće GUI.

 

 

[Desktop Entry]
Type=Application
Name=RetroPie
Comment=Retro video game emulators
Exec=sudo su -c "systemctl stop lightdm ; ttyecho -n /dev/tty1 \"emulationstation ; sudo systemctl start lightdm\""
Icon=/home/pi/Downloads/retropie_logo.png
Terminal=false
Categories=Application;Game;

 

Jedino što još želim je da mi se kod logina automatski pokrene skripta koja će pokrenuti GUI (mora ga zatvoriti jer se na kratko pokrene prije nego se pojavi terminal i opet pokrenuti pa ga zato resetiram) da nemoram to tipkati u terminal. Stvar bi naizgled bila jednostavna sa odabirom automatskog bootanja u Desktop nacin rada, ali kad se to odabere, cijela ova stvar sa pokretanje RetroPie-a iz menu bara ne funkcionira (tj. pojavi se isti efekt kao kad GUI pokrećem pomoću naredbe startx, međutim kad ga pokrećem sa sudo systemctl (re)start lighdm stvar funckionira).

 

Update: Problem riješen, ali ne sa skriptom jer ju nisam uspio natjerati da ispravno radi kod prijave korisnika u OS. Dakle, kod logina u Raspbian prvo se  na trenutak pokretnuo GUI koji je u TTY7, a zatim se prebacilo na TTY1. Da se to prebacivanje spriječi trebalo je editirati fajl na lokaciji /etc/init.d/asplashscreen na način da se tekst "fbi -T 2" zamijeni s "fbi -T 1". Znam da rješenje ovog problema ne spada pod ovu temu, ali možda će nekome biti od pomoći. 

 

 

Poruka je uređivana zadnji put uto 27.6.2017 10:05 (crazywarrior).
Moj PC  
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice