Just nu i M3-nätverket
Gå till innehåll

Skriptfiler


Mikael63

Rekommendera Poster

Fler och fler pusselbitar ramlar på plats vilket mer och mer möjliggör ett praktiskt användande av Linux i jobbet. En del av dessa små pusselbitar består av skriptfiler, hittills väldigt enkla med bara en rad.

 

Skulle vilja, enkelt, lära mig mer om dessa.

 

1. Spelar det egentligen någon roll om filen heter ex. minfil.sh eller bara minfil? I Windows behövs ju tillägget .bat för att filen ska köras men detta verkar ju inte Linux bry sig om.

 

2. Har sett att början på sådana filer börjar med #/bin/sh

Varför då? # är väl för att kommentera bort raden?

 

3. Hur lägger man in Windows motsvarighet till pause? Alltså om jag vill låta terminalfönstret vara öppet för se ev. felmeddelanden.

 

4. Detta kommando fungerar i en terminal: sudo openvpn /home/mint/OpenVPN/min-config.ovpn

Varför, verkar det som, fungerar inte detta med skript?

Edit: jo om skriptet ligger i samma mapp som .ovpn fungerar det men inte om skriptet ligger på skrivbordet. Sökvägen är väl rätt, eftersom det fungerar i övrigt?

Länk till kommentar
Dela på andra webbplatser

1. Nej, men filen måste bara körbar. Det gör du med kommandot chmod där du anger rättigheterna. Om alla skall ha körrättigheter så är det enklaste kommandot : chmod +x filnamn.

2. #/bin/sh är kännetecken för ett skalskript. Det som kommer efter #-tecknet anger vilken tolk, som skall köra skriptet. Vanligaste är numera bash. I modärna distributioner är /bin/sh oftast en länk till /bin/bash.

4. Du kan behöva ge sökväg till openvpn. Får du något felmeddelande? En lösning är att du har skriptet i samma katalog som.ovpn eller i /usr/local/bin och en mjuklänk till skriptet på skrivbordet. Har du kollat att filsystemet där skriptet ligger inte är monterat med optionen noexec. Av säkerhetsskäl är det bra att /home är noexec. http://www.linuxcommand.org/ Jag rekommendera starkt att du lägger dina skript i /usr/local/bin. Du måste använda sudo för att skriva till den katalogen.

Länk till kommentar
Dela på andra webbplatser

1. Okej. Högerklick, Egenskaper, Rättigheter, Tillåt körning av filen som ett program fungerar också ;)

 

2. Okej, så då ska den raden finnas då. Undrade eftersom det fungerade lika bra utan..

 

4. Om jag kör skriptet från skrivbordet får jag upp fråga om lösen för sudo, sedan openvpns fråga efter användarnamn, sedan openvpns fråga efter lösen. Så långt allt som det ska. Sedan stängs terminalfönstret ned och jag får ingen uppkoppling.

Om jag kör samma skript i mappen under home så fungerar det. Om skapar en länk på samma plats och kör den länken fungerar det. Om jag kopierar den länken till skrivbordet och kör händer samma sak, lösen mm okej men sedan stängs allt ner.

Samma sak händer om jag lägger skriptet i /usr/local/bin

Finns lämpligare plats att lägga filerna som hör till openVPN, alltså de som hör till just min uppkoppling?

(certifikat, konfigurering osv)

Länk till kommentar
Dela på andra webbplatser

Se till att alla filer som hör till OpenVPN finns under katalogen /home/mint/OpenVPN/.Lägg som första rad i skriptet:cd /home/mint/OpenVPN/Då borde det fungera oberoende var skriptfilen finns så länge platsen ingår i din PATH.Värdet på miljövariabeln PATH får du med kommandot: echo $PATH.

Länk till kommentar
Dela på andra webbplatser

Se till att alla filer som hör till OpenVPN finns under katalogen /home/mint/OpenVPN/.Lägg som första rad i skriptet:cd /home/mint/OpenVPN/Då borde det fungera oberoende var skriptfilen finns så länge platsen ingår i din PATH.Värdet på miljövariabeln PATH får du med kommandot: echo $PATH.

Tack! Det löste det hela! :thumbsup::thumbsup:

(Kan inte ge fler poäng idag)

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...