Köra skript från programstartare

Skrivbordsmiljöer, fönsterhanterare och desklets
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Köra skript från programstartare

Inlägg av Johnny Rosenberg »

Efter att ha installerat en massa tjafs fungerar följande rad från en terminal:

Kod: Markera allt

/home/<användarnamn>/bin/garmin/saveruns && USER=<GarminConnect-användarnamn> PASSWORD=<GarminConnect-lösenord> /home/<användarnamn>/bin/garmin/uploadruns
Men hur jag än gör kan jag inte få detta att fungera fullt ut via en programstartare, så att jag kan köra detta med ett enda musklick.

Har provat att sätta citattecken på allehanda ställen och grejat och haft mig och jag har också provat att lägga in raden i ett skript och sedan köra skriptet från en startare, men ingen succé än så länge.
”saveruns” och ”uploadruns” är båda vanliga bash-skript, se denna sida.

Vad det hela handlar om är att föra över information om puls, hastighet, tider och annat från en Garmin Forerunner 305 till connect.garmin.com, där jag har ett konto sedan tidigare. Det fungerar som sagt att göra det genom att manuellt mata in raden ovan i en terminal, men alltså inte från en startare.

Det verkar som att första skriptet i raden körs, för det piper till i ”Forerunnern”, som alltså är uppkopplad via USB. Men kollar jag sedan på min sida är det tomt där.

”saveruns” plockar informationen från klockan och lägger på datorn.
”uploadruns” konverterar den till rätt format (från binära formatet .gmn till textformatet .tcx) och för sedan över alla filerna till sidan.

Ska det inte gå att köra skript från en programstartare? Jag tror att jag har lyckats med det tidigare i alla fall, men jag kanske kommer ihåg fel.
Vänliga hälsningar

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

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Köra skript från programstartare

Inlägg av ubot »

Jo, det ska gå att köra ett skript genom en programstartare och om jag inte är helt ute och cyklar nu så är det samma sak att köra ett kommando i en Terminal som att köra kommandot genom ett skript. Det borde alltså fungera för dig. Ett sätt är att lägga raden i ett skript som du sedan ställer in så att du får extra output på allt som händer under skriptet:

Kod: Markera allt

#!/bin/bash
set -x
/home/<användarnamn>/bin/garmin/saveruns && USER=<GarminConnect-användarnamn> PASSWORD=<GarminConnect-lösenord> /home/<användarnamn>/bin/garmin/uploadruns
set -x gör att skriptet säger allt som händer under exekveringen. Då ser du kanske mer vad som går snett. Om du ser ett uppenbart fel så kan du alltid avbryta skriptet med Ctrl+C för det blir väldigt mycket output när allt som skriptet gör visas på skärmen. Hur som helst så är set -x ett bra sätt att felsöka skript: http://tldp.org/LDP/Bash-Beginners-Guid ... 02_03.html

Glöm inte sätta exekveringsrättigheter på skriptet med kommandot: chmod +x /path/to/skript.sh
Skriv svar

Återgå till "Skrivbordet"