Nybörjarfråga om att starta program

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Nybörjarfråga om att starta program

Inlägg av Johnny Rosenberg »

Jag vill starta programmet unetbootin-linux-281, som jag har rättigheter att köra och som ligger i mappen ~/Eget/Min/Mapp/ (självklart är det en helt annan sökväg, men denna är kortare…). Detta fungerar:

Kod: Markera allt

cd ~/Eget/Min/Mapp/
./unetbootin-linux-281
Jag vill hellre köra direkt från vilken mapp jag än råkar befinna mig i (utan att ändra miljövariabeln PATH):

Kod: Markera allt

$ ./~/Eget/Min/Mapp/unetbootin-linux-281 
bash: ./~/Eget/Min/Mapp/unetbootin-linux-281: Filen eller katalogen finns inte
Har provat hur många varianter som helst, men får felmeddelanden av denna typ. Så länge jag ger en relativ sökväg fungerar det, men då förutsätts ju att jag står i en viss mapp, och poängen var ju att det inte skulle spela någon roll var jag befinner mig.

Jag har tydligen missat något grundläggande här. Vad?
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Användarvisningsbild
webaake
Inlägg: 3962
Blev medlem: 09 maj 2007, 09:46
OS: Xubuntu
Utgåva: 22.04 Jammy Jellyfish LTS

Re: Nybörjarfråga om att starta program

Inlägg av webaake »

Kopiera den eller flytta den till mappen /usr/local/bin/
Xubuntu på flera maskiner. Men inte Unity!
Mer Terminalanvändande i Ubuntu vore bra. Och Xfce. Och Mate.
Användarvisningsbild
tann
Inlägg: 444
Blev medlem: 29 okt 2007, 16:23
OS: *BSD
Utgåva: 23.10 Mantic Minotaur
Ort: Kalmar
Kontakt:

Re: Nybörjarfråga om att starta program

Inlägg av tann »

eller ge en absolut sökväg som utgår från /
Användarvisningsbild
maths57
Inlägg: 2911
Blev medlem: 22 jun 2007, 15:10
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

Re: Nybörjarfråga om att starta program

Inlägg av maths57 »

Johnny Rosenberg skrev:

Kod: Markera allt

$ ./~/Eget/Min/Mapp/unetbootin-linux-281 
bash: ./~/Eget/Min/Mapp/unetbootin-linux-281: Filen eller katalogen finns inte
Jag tycker det ser konstigt ut i början av sökvägen du anger. Om det är ett skript du ska köra borde det vara så här.

Kod: Markera allt

sh ~/Min/Mapp/unetbootin-linux-281
~/ talar om att det handlar om en mapp som ligger direkt i din hemkatalog. sh anger att det är ett skalskript som ska köras.
Användarvisningsbild
micke_nordin
Inlägg: 1539
Blev medlem: 21 aug 2008, 17:03
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: Nybörjarfråga om att starta program

Inlägg av micke_nordin »

Du kan även köra skriptet så här:

Kod: Markera allt

/home/ditt_användarnamn/Min/Mapp/unetbootin-linux-281
Alltså utan punkten och med en absolut sökväg, som tann föreslog.

Jag tror att detta är underförutsättning att skriptet inleds med #! /bin/bash på första raden.

/Micke
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: Nybörjarfråga om att starta program

Inlägg av Johnny Rosenberg »

webaake skrev:Kopiera den eller flytta den till mappen /usr/local/bin/
Det vet jag att man kan göra, men det var inte det jag frågade om…

Förresten, kommer den inte att försvinna då om jag installerar en ny Linuxdistribution, eller om jag installerar om Ubuntu? /home gör jag ju backup på.
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: Nybörjarfråga om att starta program

Inlägg av Johnny Rosenberg »

maths57 skrev:
Johnny Rosenberg skrev:

Kod: Markera allt

$ ./~/Eget/Min/Mapp/unetbootin-linux-281 
bash: ./~/Eget/Min/Mapp/unetbootin-linux-281: Filen eller katalogen finns inte
Jag tycker det ser konstigt ut i början av sökvägen du anger. Om det är ett skript du ska köra borde det vara så här.

Kod: Markera allt

sh ~/Min/Mapp/unetbootin-linux-281
~/ talar om att det handlar om en mapp som ligger direkt i din hemkatalog. sh anger att det är ett skalskript som ska köras.
unetbootin är inget skript utan ett körbart program, kompilerat och klart. Det används för att få USB-stickor att bete sig som installationsskivor, typ. Man laddar ner en ISO och med hjälp av den gör unetbootin vad som krävs för att man ska kunna använda USB-stickan istället, exempelvis om man vill installera en ny distribution på en Eee eller på en annan maskin som inte har CD/DVD-läsare.
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: Nybörjarfråga om att starta program

Inlägg av Johnny Rosenberg »

micke_nordin skrev:Du kan även köra skriptet så här:

Kod: Markera allt

/home/ditt_användarnamn/Min/Mapp/unetbootin-linux-281
Alltså utan punkten och med en absolut sökväg, som tann föreslog.

Jag tror att detta är underförutsättning att skriptet inleds med #! /bin/bash på första raden.

/Micke
När jag provar detta får jag inget felmeddelande, men å andra sidan händer inget annat heller. Det ska komma upp en dialogruta, men det enda som händer är att prompten kommer tillbaka i terminalen. Kanske beror på att det är ett program och inte ett skript. Men hur skriver man istället då?

När jag skriver ”terminal” menar jag Program → Tillbehör → Terminal, om nu någon undrade.
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
KiviE
Inlägg: 2157
Blev medlem: 25 okt 2007, 14:00
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Luleå

Re: Nybörjarfråga om att starta program

Inlägg av KiviE »

Som tidigare föreslagit så borde dessa 3 fungera bra:

Kod: Markera allt

~/Eget/Min/Mapp/unetbootin-linux-281
$HOME/Eget/Min/Mapp/unetbootin-linux-281
/home/dittnamn/Eget/Min/Mapp/unetbootin-linux-281
Annars kan du göra ett alias:

Kod: Markera allt

alias unetbootin-linux-281='$HOME/Eget/Min/Mapp/unetbootin-linux-281'
Och sen bara skriva var du nu än är unetbootin-linux-281
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Nybörjarfråga om att starta program

Inlägg av Konservburk »

Johnny Rosenberg skrev:
micke_nordin skrev:

Kod: Markera allt

/home/ditt_användarnamn/Min/Mapp/unetbootin-linux-281
När jag provar detta får jag inget felmeddelande, men å andra sidan händer inget annat heller. Det ska komma upp en dialogruta, men det enda som händer är att prompten kommer tillbaka i terminalen. Kanske beror på att det är ett program och inte ett skript. Men hur skriver man istället då?
Jag gissar att det är programmet som räknar med att startas från "rätt katalog". Du kan försöka så här:

Kod: Markera allt

(cd ~/Min/Mapp/ && exec ./unetbootin-linux-281)
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: Nybörjarfråga om att starta program

Inlägg av Johnny Rosenberg »

Konservburk skrev:Jag gissar att det är programmet som räknar med att startas från "rätt katalog". Du kan försöka så här:

Kod: Markera allt

(cd ~/Min/Mapp/ && exec ./unetbootin-linux-281)
Tack, det fungerade. Har nu lagt in följande rad i min .bash-aliases (som anropas av .bashrc):

Kod: Markera allt

alias unetbootin='(cd "$HOME/Eget/Nerladdad programvara/GNU Linux/Verktyg/Boot" && exec ./unetbootin-linux-281)'
Funkar kanon. Tack!

Det sköna är att man är kvar i den mapp man var innan man startade det.
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Skriv svar

Återgå till "Terminalforum"