Göra skript körbart

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
Användarvisningsbild
BrigTSD
Inlägg: 241
Blev medlem: 05 feb 2007, 23:28
OS: Xubuntu

Göra skript körbart

Inlägg av BrigTSD »

Hur var det man gjorde för att få skript körbara direkt i terminalen?

Jag har till exempel laddat ner skriptet flac2mp3. För att köra det så måste jag gå till mappen där skriptet ligger och skriva: ./flac2mp3

Jag vill minnas att man kan skapa mappen ~/bin, ha sina skript där och "inkludera" den i mappsamlingen där ubuntu förvarar alla skript så att man kan skriva tex flac2mp3 var som helst. Men jag kommer inte ihåg hur man gjorde. Kan någon fräscha upp mitt minne? :)
Användarvisningsbild
dmz
Inlägg: 3292
Blev medlem: 29 jul 2008, 19:42
OS: Arch Linux

Re: Göra skript körbart

Inlägg av dmz »

Kod: Markera allt

chmod +x fil
Du kan även köra det med;

Kod: Markera allt

sh fil
Om ~/bin finns med i din PATH kan du slänga dina script där och invoke'a dem från valfritt ställe i terminalen. För att kontrollera:

Kod: Markera allt

echo $PATH
ǁ A: Because it obfuscates the reading.
ǁ Q: Why is top posting so bad?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Göra skript körbart

Inlägg av Konservburk »

dmz skrev:Du kan även köra det med;

Kod: Markera allt

sh fil
Det där blir katastrof eftersom flac2mp3 är ett perl-skript och inte ett sh-skript. Men det går såklart att göra motsvarande fast då med perl istället:

Kod: Markera allt

perl flac2mp3
Användarvisningsbild
dmz
Inlägg: 3292
Blev medlem: 29 jul 2008, 19:42
OS: Arch Linux

Re: Göra skript körbart

Inlägg av dmz »

Konservburk skrev:
dmz skrev:Du kan även köra det med;

Kod: Markera allt

sh fil
Det där blir katastrof eftersom flac2mp3 är ett perl-skript och inte ett sh-skript. Men det går såklart att göra motsvarande fast då med perl istället:

Kod: Markera allt

perl flac2mp3
Va? Var någonstans skrev han att det var ett perlscript? :|
ǁ A: Because it obfuscates the reading.
ǁ Q: Why is top posting so bad?
Användarvisningsbild
BrigTSD
Inlägg: 241
Blev medlem: 05 feb 2007, 23:28
OS: Xubuntu

Re: Göra skript körbart

Inlägg av BrigTSD »

Konservburk skrev:
dmz skrev:Du kan även köra det med;

Kod: Markera allt

sh fil
Det där blir katastrof eftersom flac2mp3 är ett perl-skript och inte ett sh-skript. Men det går såklart att göra motsvarande fast då med perl istället:

Kod: Markera allt

perl flac2mp3
Nej, det är ett bash-skript.

http://bytemonkey.org/flac2mp3/

Men jag tror att det finns en perl-skript variant också.


~/bin verkar finnas med i $PATH så det vara bara att lägga skriptet där köra. Tackar.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Göra skript körbart

Inlägg av Konservburk »

dmz skrev:Va? Var någonstans skrev han att det var ett perlscript? :|
Det gjorde han inte. :P

http://projects.robinbowes.com/flac2mp3/trac
SakJur
Inlägg: 1358
Blev medlem: 31 mar 2007, 18:00
OS: Fedora
Utgåva: Vet inte/ingen utgåva passar
Ort: Västerås
Kontakt:

Re: Göra skript körbart

Inlägg av SakJur »

Om det är skriptat med #!/bin/perl // #!/bin/bash som första rad borde detta funka:

Kod: Markera allt

./flac2mp3
Jag är inte tyvärr inte särskilt aktiv längre.
sakjur@launchpad
Användarvisningsbild
micke_nordin
Inlägg: 1539
Blev medlem: 21 aug 2008, 17:03
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: Göra skript körbart

Inlägg av micke_nordin »

BrigTSD skrev:Hur var det man gjorde för att få skript körbara direkt i terminalen?

Jag har till exempel laddat ner skriptet flac2mp3. För att köra det så måste jag gå till mappen där skriptet ligger och skriva: ./flac2mp3

Jag vill minnas att man kan skapa mappen ~/bin, ha sina skript där och "inkludera" den i mappsamlingen där ubuntu förvarar alla skript så att man kan skriva tex flac2mp3 var som helst. Men jag kommer inte ihåg hur man gjorde. Kan någon fräscha upp mitt minne? :)
Du kan skapa katalogen ~/bin (eller vilken annan katalog som helst) lägga den i din PATH genom att lägga till denna rad i filen ~/.bashrc:

Kod: Markera allt

export PATH=~/bin:$PATH
Detta funkar dock bara i terminalen. Om du inte vill lägga skriptet i en katalog i din path, eller ställa dig i katalogen där skriptet finns, kan du också köra det med den fulla sökvägen direkt i terminalen, t.ex. ~/skriptkatalog/flac2mp3

/Micke
Skriv svar

Återgå till "Terminalforum"