Nieuws:

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

Auteur Topic: Waar sla ik de bash script op de server op ?  (gelezen 4471 keer)

Offline janamdo

  • Lid
Waar sla ik de bash script op de server op ?
« Gepost op: 2012/12/09, 15:34:30 »
Ik heb een bash script
- script schrijven -> in nano geplakt 
- script opslaan ->?
-script exutable maken
-script execute

Waar dit script op te slaan op de server in welke map ..zou dat user/local/bin moeten zijn ?
Waar slaat nano standaard zijn file op ? 
Mijn voorbeeld tutorial zegt
chmod +x install-ruby.sh
./install-ruby.sh
Dus  ./install-ruby.sh gebruikt dit pad ..user/local/bin ..waar user for root staat en de . voor local ?

Als ik niet weet waar ik in de  nano editor het bash script kan opslaan, dan kan het ook niet uitgelezen worden
Ik zou dan het script op moeten slaan als /user/local/bin/script.sh in nano  ?
 

Re: Waar sla ik de bash script op de server op ?
« Reactie #1 Gepost op: 2012/12/09, 16:06:05 »
Je kan een bash script in feite overal opslaan waar je rechten hebt om bestanden te mogen schrijven en uitvoeren. Als je nano zonder sudo ervoor opstart, dan kan je het script in feite alleen in de home map van de gebruiker opslaan.

Re: Waar sla ik de bash script op de server op ?
« Reactie #2 Gepost op: 2012/12/09, 16:16:46 »
Als je veel scripts. dan kan je het best ff in je homedir een  script dir aanmaken en een bin dir. Ik maakt vaak een symlink van de script dir naar de bindir

en dan dit in je .bashrc:
PATH=$PATH:$HOME/bin

Omdat je beter lui dan moe kan wezen.

Offline janamdo

  • Lid
Re: Waar sla ik de bash script op de server op ?
« Reactie #3 Gepost op: 2012/12/09, 16:32:47 »
Bedankt
Als ik dit commando gebruik  :
./install-ruby.sh
dan zou ik nano zonder sudo ervoor moeten opstarten en het script opslaan als install-ruby.sh?
De home map zou bij mij dan "local" zijn, want $PATH laat geen directory genaamd "home"zien

Die oplossing van @maikelonline is me nog niet duidelijk hoe het precies werkt..uitzoeken
« Laatst bewerkt op: 2012/12/09, 16:35:27 door janamdo »

Online Ron

  • Forumteam
    • r0n
    • Over Tholen
Re: Waar sla ik de bash script op de server op ?
« Reactie #4 Gepost op: 2012/12/09, 18:46:26 »
Er zijn vele wegen die naar Rome leiden, een hoop hangt af van de persoonlijke voorkeur.
Mijn scripts staan (bijna) allemaal in de /home/<naam>/bin map, dit heeft voordelen.
Na een reboot staat de map automatisch in het path, wanneer de eerste regel aangeeft, dat het een bash file is, dan kan je het script gebruiken alsof het een bestaand commando is.
Hier als voorbeeld mijn update/upgrade script met de naam "up": #!/bin/bash
sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove
sudo apt-get clean
Nu kan ik vanuit elke map gewoon "up" intypen en wordt dit scriptje uitgevoerd.
Zo heb ik ook scriptjes die door mij veel gebruikte (niet standaard) programma's installeren en niet gebruikte programma's verwijderen.
Ze maken mijn leven makkelijker :lol:
Openstandaard Evangelist, OpenSource Promotor, OpenData voorstander.
Xubuntu gebruiker en voorstander
Er is ook nog een andere hobby.

Offline janamdo

  • Lid
Re: Waar sla ik de bash script op de server op ?
« Reactie #5 Gepost op: 2012/12/09, 19:39:38 »
Bedankt @Ron!
 /home/<naam>/bin ...

Dat betekent dat ik een nieuwe map met mijn naam zou moeten aanmaken op de server
De bestaande paden zijn  usr/local/bin  ..dit zou dan worden usr/local/<naam>/bin ?

Betekent dan ook ?..
Maar dan moet ik wel sudo voor de nano editor zetten en het script bestand in mijn <naam> map zetten ( het pad opgeven tijdens het saven )

Offline Bloom

  • Lid
Re: Waar sla ik de bash script op de server op ?
« Reactie #6 Gepost op: 2012/12/09, 20:07:45 »
Je kunt scriptjes die voor het hele systeem en met name de root moeten gelden ook zetten in /usr/bin.

Online Ron

  • Forumteam
    • r0n
    • Over Tholen
Re: Waar sla ik de bash script op de server op ?
« Reactie #7 Gepost op: 2012/12/09, 20:24:33 »
Dat betekent dat ik een nieuwe map met mijn naam zou moeten aanmaken op de server
Spraak verwarring ...........
Stel dat jij inlogt in Ubuntu als janamdo, dan is er een map /home/jamando, hierin maak je dan de bin map die ik bedoelde, dus /home/janamdo/bin
Als gebruiker janamdo heb je daar dan ook alle rechten.
Openstandaard Evangelist, OpenSource Promotor, OpenData voorstander.
Xubuntu gebruiker en voorstander
Er is ook nog een andere hobby.

Offline janamdo

  • Lid
Re: Waar sla ik de bash script op de server op ?
« Reactie #8 Gepost op: 2012/12/09, 21:14:17 »
Ik log in als "root"( ik heb mezelf nog geen naam gegeven nog op de server) , dus is er een map home/root/... maar die is er volgens mij niet wel /usr/local
Een lijst van directories kan ik oproepen op de server: bash: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
« Laatst bewerkt op: 2012/12/09, 21:18:43 door janamdo »

Online Ron

  • Forumteam
    • r0n
    • Over Tholen
Re: Waar sla ik de bash script op de server op ?
« Reactie #9 Gepost op: 2012/12/09, 21:33:40 »
Ik log in als "root"
Gebruik je wel Ubuntu ?
Openstandaard Evangelist, OpenSource Promotor, OpenData voorstander.
Xubuntu gebruiker en voorstander
Er is ook nog een andere hobby.

Offline janamdo

  • Lid
Re: Waar sla ik de bash script op de server op ?
« Reactie #10 Gepost op: 2012/12/09, 21:38:54 »
Haha ..ja...dat zou een mooie stunt zijn..bedankt Ron je hebt me wel aan het lachen gemaakt.
Dit staat op het Putty scherm
login as: root
root@001.002.003.004's password:
Access denied
root@001.002.003.004's password:
Linux server01 2.6.32-22-server #36-Ubuntu SMP Thu Jun 3 20:38:33 UTC 2010 x86_64 GNU/Linux
Ubuntu 10.04.4 LTS

Ik zit wel degelijk op een VPS Ubuntu server..jawel..moet alleen dat bigbluebutton programma draaiend zien te krijgen voor mijn lessite.

Wat is de home map van de gebruiker .. local ?

Moderator edit: Uit veiligheid het IP adres veranderd.

Hoe kom ik hier uit ? ..het is duidelijk dat de directory structuur niet voor elke ubuntu server hetzelfde is
Het lijkt mij inderdaad
usr/bin of usr/local/bin  de map waarin het script opgeslagen moet worden.

Mijn script zou met dit commando ./install-ruby.sh  uitgevoerd worden... de vraagkomt dan omhoog welke map is dat.. de root map van de server ?..ik denk het wel.
Betekent dat ik het script in de root map v/d server moet opslaan..maar datis eigenlijk toch geen goede plek?  ( wel het gemakkelijkst waarschijnlijk )
« Laatst bewerkt op: 2012/12/09, 23:05:16 door janamdo »

Offline janamdo

  • Lid
Re: Waar sla ik de bash script op de server op ?
« Reactie #11 Gepost op: 2012/12/09, 23:47:24 »
Het is toch wel ongelooflijk hoeveel moeite het kost om een simpel bash script juist op de ubuntu server te runnen.
Op zich is het eenvoudig: het script moet op in een juiste directory opgeslagen worden waar het uitgelezen kan worden
Voor dit script moet de juiste rechten ingesteld worden om het excutabel te maken.

Re: Waar sla ik de bash script op de server op ?
« Reactie #12 Gepost op: 2012/12/10, 10:07:53 »
@jamendo,
Ron maakt geen grapje hoor, iedereen die zich enigszins heeft verdiept in Ubuntu servers weet dat je daar normaliter niet als root kan inloggen. Als je dat wel kan, dan is het blijkbaar geen Ubuntu, of je hebt een aangepaste installatie. Ik krijg de indruk dat je je totaal niet hebt verdiept in de werking van Ubuntu server, en vervolgens gaat klagen dat het moeilijk is. Alles is moeilijk als je niet wil leren hoe het werkt, maar er zomaar vanuit gaat dat je zonder enige kennis alles kan.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Waar sla ik de bash script op de server op ?
« Reactie #13 Gepost op: 2012/12/10, 10:42:03 »
janamdo, had je deze al eens gelezen?
Misschien dat het dan wat duidelijker wordt.

Offline janamdo

  • Lid
Re: Waar sla ik de bash script op de server op ?
« Reactie #14 Gepost op: 2012/12/10, 12:13:34 »
@jamendo,
Ron maakt geen grapje hoor, iedereen die zich enigszins heeft verdiept in Ubuntu servers weet dat je daar normaliter niet als root kan inloggen. Als je dat wel kan, dan is het blijkbaar geen Ubuntu, of je hebt een aangepaste installatie. Ik krijg de indruk dat je je totaal niet hebt verdiept in de werking van Ubuntu server, en vervolgens gaat klagen dat het moeilijk is. Alles is moeilijk als je niet wil leren hoe het werkt, maar er zomaar vanuit gaat dat je zonder enige kennis alles kan.
Ron is wel serieus, maar ik vond het grappig te veronderstellen dat ik niet zou weten met welk besturingsysteem ik zou werken op een server. ( stel dat het wel zo is .. dan moet ik om mezelf lachen )
Klagen doe ik niet, maar verwonder er me over
Jouw veronderstelling dat ik denk dat alles zonder kennis gedaan kan worden is niet realistisch, alleen is hier het probleem hoe kom ik tot die kennis.

Was al aan proberen de directory structuur op de server te bekijken met de commando's .. en om de inhoud van een map te bekijken en ik zag dat het nano scriptbestand opgeslagen was in de root van de serverdirectory.
En volgens mij krijgt de server hier geen toegang toe dit script uit te voeren als ik echo $PATH bekijk
Dus moet het scriptbestand zien op te slaan in usr/bin (@bloom had dit al voorgesteld)

Als  je nano zonder sudo opslaat zoals je geschreven heb dan komt het scriptbestand inde root--> inderdaad heb ik het script zien staan in de root
Stel dat ik nano met sudo ervoor gebruik waar word het scriptbestand dan opgeslagen ?
( kan ik weer checken.. of kan ik een pad opgeven in sudo+nano voor het scriptbestand ?)
Je ziet ik doe mijn best..

Die link van @Johan is ook erg informatief
Kijk ik kan natuurlijk zelf een home map met mijn eigen map erin in de root van de server zetten en daarin de scriptbestanden zetten , maar moet dan ook weer een pad opgeven aan de server dat het scriptbestand gevonden kan worden.. of ik gebruik voor nu de bestaande usr/bin


   
« Laatst bewerkt op: 2012/12/10, 15:35:54 door janamdo »

Offline janamdo

  • Lid
Re: Waar sla ik de bash script op de server op ?
« Reactie #15 Gepost op: 2012/12/10, 12:16:34 »
janamdo, had je deze al eens gelezen?
Misschien dat het dan wat duidelijker wordt.
Bedankt Johan!

Ik ga het bekijken..

Was inmiddels ook al met 2 pdf in de weer : The linux command line ( william E.Shotts ) en Beginning Ubuntu Server Administration en natuurlijk het internet
Vroeger met ms dos in de weer geweest, dus dat lijkt er een beetje op
« Laatst bewerkt op: 2012/12/10, 12:26:28 door janamdo »

Re: Waar sla ik de bash script op de server op ?
« Reactie #16 Gepost op: 2012/12/10, 12:34:20 »
sudo su;
passwd;

Kan je ook gelijk lekker su'en. Dan hoeft het sudo er niet meer voor.

Verder, ik prefereer eigen commando's, dat die beginnen met een hoofdletter, dit zodat ik duidelijk onderscheid heb tussen wat eigen is en niet

Re: Waar sla ik de bash script op de server op ?
« Reactie #17 Gepost op: 2012/12/10, 14:46:59 »
@janamdo, dat is denk ik idd. de goede weg. Een terminal handleiding een keer goed doornemen voorkomt heel veel vragen. :)

Offline janamdo

  • Lid
Re: Waar sla ik de bash script op de server op ?
« Reactie #18 Gepost op: 2012/12/10, 19:47:02 »
Ja, wat ik nu vraag is hoe de nederlandse versie van de filemanager ( midnight commander) op de server te installeren ?
De engelse versie staat er nu op. :)
« Laatst bewerkt op: 2012/12/11, 00:44:44 door janamdo »

Re: Waar sla ik de bash script op de server op ?
« Reactie #19 Gepost op: 2012/12/11, 11:57:00 »
Volgens mij is de terminalomgeving nauwelijks vertaald, en het is in de aard van de zaak vaak ook erg moeilijk te vertalen. Voor heel veel computer technologie zijn gewoonweg geen Nederlandse woorden. Alle terminalcommando's zijn zowieso in het Engels. Ik denk dat ik geen rare dingen zeg als ik stel  dat het beheersen van de Engelse taal een vereiste is voor een Linux serverbeheerder. die in de terminal wil werken.

Offline janamdo

  • Lid
Re: Waar sla ik de bash script op de server op ?
« Reactie #20 Gepost op: 2012/12/11, 12:15:47 »
Ja, dat is essentieel Engelse taal beheersen, anders dan kom je nergens tegenwoordig als je de computer gebruikt met al die Engelse programma's erop.
Ik zie hier een plaatje staan met een Nederlandse filemanager, maar misschien is de Engelse versie toch  wel gemakkelijker in gebruik , omdat Putty (terminal)  ook in het Engels werkt.

Offline janamdo

  • Lid
Re: Waar sla ik de bash script op de server op ?
« Reactie #21 Gepost op: 2012/12/11, 14:03:22 »
Je kunt scriptjes die voor het hele systeem en met name de root moeten gelden ook zetten in /usr/bin.
Hoe zet je deze scriptjes in de bin map dan ?
Opm: en dan moet het scriptje ook weer executabel zijn ( groene kleur ) ?
Het is nu een zwarte kleur het script: tekstbestand als ik in de homemap kijk met mijn testscriptje
Moet het scriptje eerst uitgevoerd zijn geweest voordat het de groene kleur krijgt ?
« Laatst bewerkt op: 2012/12/11, 14:10:19 door janamdo »

Offline janamdo

  • Lid
Re: Waar sla ik de bash script op de server op ?
« Reactie #22 Gepost op: 2012/12/11, 14:23:33 »
Als je veel scripts. dan kan je het best ff in je homedir een  script dir aanmaken en een bin dir. Ik maakt vaak een symlink van de script dir naar de bindir

en dan dit in je .bashrc:
PATH=$PATH:$HOME/bin

Omdat je beter lui dan moe kan wezen.

Dus (home directory) : janamdo /janamdoscripts/bin
Mijn scripts save ik in nano en komen in mijn homemap : janamdo terecht  en staan dan ook in (homemap)janamdo/janamdoscripts/bin directory door de symlink

Scripts worden dan uitgevoerd als ze in een bin  staan door de server als ik de scriptbestandnaam als commando in putty invoer.
Ga het proberen.. 

Offline janamdo

  • Lid
Re: Waar sla ik de bash script op de server op ?
« Reactie #23 Gepost op: 2012/12/11, 14:37:56 »
Je kan een bash script in feite overal opslaan waar je rechten hebt om bestanden te mogen schrijven en uitvoeren. Als je nano zonder sudo ervoor opstart, dan kan je het script in feite alleen in de home map van de gebruiker opslaan.

Ik zou dan sudo nano moeten gebruiken om mijn scripts in (homemap)/janamdoscripts/bin  op te slaan ?
Het is me nog niet gelukt in nano ..hoe dit te doen ?

Offline janamdo

  • Lid
Re: Waar sla ik de bash script op de server op ?
« Reactie #24 Gepost op: 2012/12/11, 17:06:35 »
Ondertussen heb de ik root inlognaam veranderd in een eigen naam en ww..alleen zit ik nu weer de rechten van de homemap..ik kan  nog geen map erin aanmaken..word geweigerd :D
Is daar een instelling voor ..