Starta program från terminal

Tråden skapades och har fått 9 svar. Det senaste inlägget skrevs .
1

Hur fixar man så att det bara är att skriva programmets namn i Terminal trycka på enter och det startar??
Det gåt ju förståss att ställa sig i programmappen och skriva ./"prog-namn" .

Jag misstänker att man måste fixa någon fil i /bin eller?

Skriv följande i Terminalen så startar QuickTime Player:

open /Applications/QuickTime\ Player.app/

  • Medlem
  • Göteborg
  • 2005-01-24 15:16

Det du vill uppnå, om jag förstår dig rätt, är alltså att kunna starta ett program bara genom att skriva dess filnamn, vilken katalog du än befinner dig i. Detta går att göra på flera sätt. Om det är en vanlig körbar fil (dvs den har attributet x som i executable) kan man t ex göra en symbolisk länk till filen som placeras i /usr/bin (eller nån annanstans):

$ ln -s minfil /usr/bin/minfil

Ett annat sätt, vilket är bra för att öppna t ex OS X-apps som inte går att starta bara genom att skriva dess filnamn, utan måste startas med "open"-kommandot, är att skapa alias-variabler i din shells inställningsfil. Du kan t ex redigera filen .profile i din hemkatalog med en rad som denna:

alias "qtplayer"="open /Applications/QuickTime\ Player.app"

Nu kan du starta QuickTime Player genom att skriva qtplayer i terminalen.

Ett tredje sätt är att lägga in fler paths i din PATH-variabel. Detta kan antingen göras genom att redigera filen /etc/profile, alternativt lägga in en ny deklaration av variabeln i din egna .profile. Ta en titt i filen /etc/profile så ser du förmodligen raderna:

PATH="/bin:/sbin:/usr/bin:/usr/sbin"
export PATH

Inom citattecknena i raden som börjar med PATH= kan du lägga in fler paths, om du t ex vill lägga in en bin-katalog du skapat i din hemmapp kan det se ut såhär:

PATH="/bin:/sbin:/usr/bin:/usr/sbin:/Users/gunslinger/bin"
export PATH

Osv osv. Finns säkert fler sätt skulle jag tro

>>xevve

Mycket fin förklaring, stort tack! Det var alternatic 1 jag var ute efter. Vill kunna starta upp matlab smidigt utan desktopen. Dessvärre fungerade det inte =( Jag ställde mig i mappen med matlab och skrev: ln -s matlab /usr/bin/matlab

men när jag sen försöker starta det från Terminal så säger den bara:

-bash: matlab: command not found

vad vara fel?

  • Medlem
  • Göteborg
  • 2005-01-24 15:48

Antagligen fick du permission denied när du gjorde den symboliska länken, du måste vara superuser för att få göra det där. Den rekommenderade lösningen på problemet är lösningen nummer två, alltså redigering av .profile i din hemkatalog. Om du tvunget vill göra en symbolisk länk i /usr/bin kan du skriva:

sudo ln -s /path/till/matlab /usr/bin/matlab

och ange ditt lösenord.

EDIT: Sorry, var lite klumpig i förra inlägget, du måste alltså ange full path till båda destinationerna för att det ska funka ordentligt. sudo ln -s /Application/matlab/matlab /usr/bin/matlab t ex borde funka. Byt ut /Application/matlab mot fulla pathen till den körbara filen matlab.

Senast redigerat 2005-01-24 16:02

Jodå sudo grejjen lurade jag allt ut. Men att ange hela sökvägen till filen hjälpte bättre!! Stort tack igen!

  • Medlem
  • Upplands Väsby
  • 2005-01-24 21:07

Stort tack

  • Medlem
  • Malmö
  • 2009-05-22 01:12

Jag är nog ute efter något liknande som i alternativ 2.

Men jag har problem med att hitta .profile filen. Sen vet jag inte riktigt om jag har hajat hur man ska göra sen. Men får nog testa mig fram.

Mitt största problem är nog att jag har inte riktigt förstått mig på "mappstrukturen" i OS X än (efter 2 års användande)

Man hittar flera mappar med samma namn beroende på var man är någonstans på hårddisken.

Men om jag bara skulle kunna hita .profile så hade jag kanske löst resten.

tack på förhand

Jag kanske är off topic nu, men funkar inte ctrl+space för Spotlight och sedan bara skriva Quick... och trycka enter när det hittats? Eller är det inte tillräckligt nördigt?

  • Medlem
  • Malmö
  • 2009-05-22 09:00

Jag glömde att nämna att det program jag vill starta genom terminalen inte är Quicktime utan en Ventrilo server.

Och det går inte att starta på något annat sätt än att leta upp mappen i terminalen och sen skriva ./ventrilo_srv

Sen körs alltså programet i terminalen.

Och det jag då förstod på alternativ 2 så skulle man kunna skriva in något någonstans så att jag inte behöver ta mig igenom hela mappstrukturen till rätt mapp innan jag kan starta. Utan skulle kunna starta programmet från vilken mapp som helst.

1
Bevaka tråden