Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Extensie Bash-script  (gelezen 4588 keer)

Gast

  • Gast
Extensie Bash-script
« Gepost op: 2006/12/30, 07:58:48 »
Hi, wat is de extensie van een Bash script?

Offline Monkwarrior

  • Lid
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #1 Gepost op: 2006/12/30, 08:08:07 »
Ik dacht hetzelfde als "normale" scripts: .sh

Offline kennywest

  • Lid
    • http://kennywest.blogspot.com
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #2 Gepost op: 2006/12/30, 09:09:21 »
Je mag kiezen. 't is geen windows hé. Extensies zijn eigenlijk min of meer onbestaand in Linux. Als conventie gaat men soms wel .sh gebruiken, maar dat is geen regel.

Offline Monkwarrior

  • Lid
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #3 Gepost op: 2006/12/30, 09:47:08 »
Ja das waar, als je m maar executable maakt dan is er niets aan de hand lijkt me.

Offline Kiwinote

  • Lid
    • Launchpad
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #4 Gepost op: 2006/12/30, 09:49:56 »
Uitvoeren met:
bash

Offline Michael Anckaert

  • Lid
    • http://www.sinax.be
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #5 Gepost op: 2006/12/30, 10:15:26 »
Alle uitvoerbare scripts hebben in Unix/Linux meestal een Shebang regel :)
Dat is een eerste regel in het script die gelijkt op
#!/usr/bin/sh

of
#!/usr/bin/python

Als je het script uitvoerbaar maakt en uitvoert dan weet de shell aan de hand van de Shebang regel met welke interpreter hij het script moet uitvoeren. De extensie is er louter en alleen voor het makkelijke herkennen van een script door mensen. .sh voor Bash shell scripts (of andere shell scripts), .py voor Python, .pl voor Perl (Is dit correct? Ben niet zeker van .pl ;))

Als je met een shebang regel werkt hoeft de persoon die het script uitvoert niet te weten in welke taal het script is geschreven, gewoon uitvoeren ipv de interpreter aan te roepen met het script als parameter.
www.sinax.be
Open Source Integrators, consulting and custom development

Gast

  • Gast
Extensie Bash-script
« Reactie #6 Gepost op: 2006/12/30, 11:54:34 »
En hoe maak je zo'n script executable? Met het commando 'exit' ?

Offline Kiwinote

  • Lid
    • Launchpad
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #7 Gepost op: 2006/12/30, 12:02:08 »
rechtsklikken
proporties>permissions
uitvoerbaar maken

Gast

  • Gast
Extensie Bash-script
« Reactie #8 Gepost op: 2006/12/30, 14:05:41 »
Hmmm..jammer dat je via de terminal geen C-code kan uitvoeren, die programmeertaal ken ik. Wel leuk dat je Perl en Python meteen kunt gebruiken. Ga ik die maar 'es leren :)

Offline Kiwinote

  • Lid
    • Launchpad
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #9 Gepost op: 2006/12/30, 14:19:24 »
Waarom zou je geen c in de terminal kunnen uitvoeren, dat ben ik momenteel wel aan het doen(cpp dan).
programma schrijven
compilen
uitvoeren
klaar :)

Gast

  • Gast
Extensie Bash-script
« Reactie #10 Gepost op: 2006/12/31, 17:35:49 »
Nou, ik heb geen internet dus geen gcc. Een python programma kan ik gewoon uitvoeren door aan het begin van het bestand #!/usr/etc/python te typen gewoon ongecompileerd uitvoeren met het bash-commando. Bij C kan dat dus niet.

Offline eendje

  • Lid
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #11 Gepost op: 2006/12/31, 18:35:18 »
Citaat van: FlorianOpzijnMobieltje
Nou, ik heb geen internet dus geen gcc. Een python programma kan ik gewoon uitvoeren door aan het begin van het bestand #!/usr/etc/python te typen gewoon ongecompileerd uitvoeren met het bash-commando. Bij C kan dat dus niet.
@Florian,

Als je een Python-script uitvoerd wordt het  omgezet in bytecode en dan uitgevoerd (beetje vergelijkbaar met java zeg maar voor het gemak)** Bij C en C++ heb je dat niet en moet er dus eerst een compilatie naar machinetaal worden uitgevoerd voordat het uitvoerbaar is.



**Gaarne mij niet afschieten omdat ik een vergelijk maak met JAVA A.U.B :D
Een dag niets geleerd is een dag niet geleefd!
Ik blog dus ik besta!
__________________________________________________________
Een vraag? Heb je al eens gekeken op: http://wiki.ubuntu-nl.org/FAQ?

Offline profoX

  • Lid
    • wesley
    • Lionslink
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #12 Gepost op: 2006/12/31, 18:57:25 »
Ik had mijn geweer al vast ;)

Masuran: jep, daar wordt meestal .pl voor gebruikt
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Offline eendje

  • Lid
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #13 Gepost op: 2007/01/04, 00:42:53 »
Citaat van: eendje
Citaat van: FlorianOpzijnMobieltje
Nou, ik heb geen internet dus geen gcc. Een python programma kan ik gewoon uitvoeren door aan het begin van het bestand #!/usr/etc/python te typen gewoon ongecompileerd uitvoeren met het bash-commando. Bij C kan dat dus niet.
@Florian,

Als je een Python-script uitvoerd wordt het  omgezet in bytecode en dan uitgevoerd (beetje vergelijkbaar met java zeg maar voor het gemak)** Bij C en C++ heb je dat niet en moet er dus eerst een compilatie naar machinetaal worden uitgevoerd voordat het uitvoerbaar is.



**Gaarne mij niet afschieten omdat ik een vergelijk maak met JAVA A.U.B :D
even een aanvulling hierop.... Ik was net aan het tandpoetsen (de ideale tijd voor eureka moment zou ik maar zeggen) en toe bedacht ik me ineens dat er zoiets bestaat als de CSH (de C-schell). Ze zeggen zelf "Shell with C-like syntax". Dus misschien is dat makkelijker voor je om te leren. CSH zit in Synaptic.

Welterusten.... :)
Een dag niets geleerd is een dag niet geleefd!
Ik blog dus ik besta!
__________________________________________________________
Een vraag? Heb je al eens gekeken op: http://wiki.ubuntu-nl.org/FAQ?

Offline Florian van der Zee

  • Lid
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #14 Gepost op: 2007/01/04, 12:13:34 »
'k zal 'ns kijken..als er geen internet voor nodig is :)

Offline gercokees

  • Lid
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #15 Gepost op: 2007/01/04, 12:38:41 »
Over bash scripts gesproken. Is het zo dat je die alleen maar via een pad op kan starten?
Ik heb ergens gelezen dat je altijd iets moet doen als:
./script.sh
en bij mij werkt
script.sh
dus domweg niet. Ook al zit ik in de goeie map..... En als dat dan zo is, waarom is dat dan?
Groet,
Gerco-Kees
<><

Offline jgoor

  • Lid
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #16 Gepost op: 2007/01/04, 16:20:47 »
Het is een aloude Unix traditie dat de 'current' directory "." niet in het zoekpad zit. Dit heeft security redenen.
Een script runnen dat in de 'current' directory staat wordt dus altijd met ./' geadresseerd.
Dit kan je overrulen door de '.' in de PATH variabele te zetten. Echter is dit niet aan te raden: wen het jezelf aan.

De achterliggende gedacht is dat er meerdere progjes kunnen zijn met dezelfde naam. Wanneer je 'myprog' doet en er zijn meerdere 'myprog' programma's weet je niet welke er gestart wordt en dat is natuurlijk een no-go.

Een Unix traditie is dat je eerst nadenkt, en vervolgens *weet* wat je wil en dan *expliciet* opdracht geeft. (vandaar de './' omdat je *dit* progje in *deze* directory wilt starten).

Stel: ik maak een progje genaamd 'ls' in een unsecure directory op jouw machine en weet deze in jouw zoekpad te krijgen.
En in dat progje staat een commando dat een useraccount aanmaakt met root rechten.
Wat denk je dat er gebeurd als je als root je GEEN './ls' doet maar gewoon 'ls'? :-)
Of er staat 'rm -rf /' in?

Offline gercokees

  • Lid
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #17 Gepost op: 2007/01/04, 17:40:27 »
Briljant! Wat hou ik van linux. Echt geweldig... Ook erg bedankt voor je duidelijke uitleg! Proficiat! (rm -rf / verwijdert volgens mij echt alles, als je het als root uit zou voeren... :-( )
Groet,
Gerco-Kees
<><

Offline profoX

  • Lid
    • wesley
    • Lionslink
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #18 Gepost op: 2007/01/04, 17:51:31 »
Klopt, gercokees. bepaalde dingen kunnen echter niet verwijderd worden (omdat ze in gebruik zijn e.d.), maar dan nog. Het systeem zal niet meer prettig werken :) en als je niet tijdig stopt d.m.v. CTRL-C zullen al je gegevens in /home ook beginnen verdwijnen
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Offline gercokees

  • Lid
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #19 Gepost op: 2007/01/04, 18:01:32 »
Ik ga het niet uitproberen, maar volgens mij is ie sneller klaar dan dat je in de gaten hebt dat je moet ctrl-c-en. Maar, zoals gezegd, ik ga het niet uitproberen... :-)
Groet,
Gerco-Kees
<><

Offline profoX

  • Lid
    • wesley
    • Lionslink
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #20 Gepost op: 2007/01/04, 18:37:30 »
Zeker niet proberen! :) Want de bestanden die het eerst verwijderd worden zijn best wel belangrijk! (bestanden in /bin, /boot enzo)
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Offline eendje

  • Lid
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #21 Gepost op: 2007/01/04, 22:02:20 »
Citaat van: gercokees
Over bash scripts gesproken. Is het zo dat je die alleen maar via een pad op kan starten?
Ik heb ergens gelezen dat je altijd iets moet doen als:
./script.sh
en bij mij werkt
script.sh
dus domweg niet. Ook al zit ik in de goeie map..... En als dat dan zo is, waarom is dat dan?
Je  moet een script ook nog uitvoerbaar maken anders doet ie het niet volgens mij. In nautilus rechtermuistoets op het script en dan eigenschappen. Bij tabblad rechten uitvoeren aanvinken. Daarna starten met ./scriptje
Een dag niets geleerd is een dag niet geleefd!
Ik blog dus ik besta!
__________________________________________________________
Een vraag? Heb je al eens gekeken op: http://wiki.ubuntu-nl.org/FAQ?

Offline eendje

  • Lid
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #22 Gepost op: 2007/01/04, 22:06:13 »
Citaat van: Florian
'k zal 'ns kijken..als er geen internet voor nodig is :)
Helaas.... er is wel internet voor nodig... :D Als je nu een het bestand op school download volgende week en op een USB stick zet. Er is namelijk maar één afhankelijkheid en die is al geïnstalleerd (libc6). Hieronder staat de directe link naar het bestand (i386 versie).

http://packages.ubuntu.com/cgi-bin/download.pl?arch=i386&file=pool%2Funiverse%2Fc%2Fcsh%2Fcsh_20050313-1_i386.deb&md5sum=d827afa096cea209000d2225d0452863&arch=i386&type=main
Een dag niets geleerd is een dag niet geleefd!
Ik blog dus ik besta!
__________________________________________________________
Een vraag? Heb je al eens gekeken op: http://wiki.ubuntu-nl.org/FAQ?

Offline Florian van der Zee

  • Lid
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #23 Gepost op: 2007/01/04, 22:31:17 »
@eendje Helaas, de systeembeheerder ziet iedere muisbeweging die je op een client doet, we werken namelijk met accounts en je hebt je eigen partitie. Downloaden mag niet, en ik wordt al extra in de gaten gehouden door de systeembeheerder en de ict-coordinator omdat ik een html bestandje (snelmenu met links naar belangrijke schoolsites) had geprogrammeerd en op mijn partitie opgeslagen (dat bleek niet te mogen).

Offline eendje

  • Lid
  • Steunpunt: Nee
Extensie Bash-script
« Reactie #24 Gepost op: 2007/01/04, 22:59:11 »
Citaat van: Florian
@eendje Helaas, de systeembeheerder ziet iedere muisbeweging die je op een client doet, we werken namelijk met accounts en je hebt je eigen partitie. Downloaden mag niet, en ik wordt al extra in de gaten gehouden door de systeembeheerder en de ict-coordinator omdat ik een html bestandje (snelmenu met links naar belangrijke schoolsites) had geprogrammeerd en op mijn partitie opgeslagen (dat bleek niet te mogen).
Ehh, waar gebruiken jullie internet op school dan voor als je niets mag?
Een dag niets geleerd is een dag niet geleefd!
Ik blog dus ik besta!
__________________________________________________________
Een vraag? Heb je al eens gekeken op: http://wiki.ubuntu-nl.org/FAQ?