Sida 1 av 1

köra `` i terminal vs i "menyn"

Postat: 21 jun 2007, 10:34
av per9000
Hej,

jag byggde tre terminal script för att screendumpa från konsolen. (Detta för att slippa använda musen.)

Kod: Markera allt

dumps
::::::::::::::
#!/usr/bin/bash
scrot  -s -b /home/per/screenshots/screenshot_`date +%Y%m%d_%H%M%S`.png

dumpss
::::::::::::::
#!/usr/bin/bash
scrot -s /home/per/screenshots/screenshot_`date +%Y%m%d_%H%M%S`.png

dumpsf
::::::::::::::
#!/usr/bin/bash
scrot /home/per/screenshots/screenshot_full_`date +%Y%m%d_%H%M%S`.png
Nu vill jag kunna köra dessa från xfce-menyn (kör xubuntu), men det bli bara knas. Om jag tar bort `date +%Y%m%d_%H%M%S` går det bra. Men då får ju bilderna samma namn - det känns inte så bra.

Någon som har något tips på hur man:
* får in `` menyn,
* får unika namn uran ``,
* eller kör anropar Xubuntus vanliga screenshot-tagare från tangentbordet eller menyn.

Gör jag det bara kompilecar för mig så var inte blyg att sparka mig i magen - jag kanske förstjänar det.

/Per

SV: köra `` i terminal vs i "menyn"

Postat: 21 jun 2007, 10:41
av Emil.s
Hm, antar att du vet hur ' ', `` eller "" funkar.

Dvs:

Kod: Markera allt

emil@emils-macbook.local: ~ $ NAMN="emil"
emil@emils-macbook.local: ~ $ echo "Jag heter $NAMN"
Jag heter emil
emil@emils-macbook.local: ~ $ echo 'Jag heter $NAMN'
Jag heter $NAMN
Men testa med denna kod istället:
scrot  -s -b /home/per/screenshots/screenshot_$(date +%Y%m%d_%H%M%S).png

SV: köra `` i terminal vs i "menyn"

Postat: 21 jun 2007, 10:57
av per9000
Emil.s skrev: Hm, antar att du vet hur ' ', `` eller "" funkar.

Dvs:

Kod: Markera allt

emil@emils-macbook.local: ~ $ NAMN="emil"
emil@emils-macbook.local: ~ $ echo "Jag heter $NAMN"
Jag heter emil
emil@emils-macbook.local: ~ $ echo 'Jag heter $NAMN'
Jag heter $NAMN
Men testa med denna kod istället:
scrot  -s -b /home/per/screenshots/screenshot_$(date +%Y%m%d_%H%M%S).png
Detta funkade fin-fint, man tackar.

Det jag alltid har antagit är att 'string1' och "string2" är till för att nästla strängar, precis som i python, typ:
print "skriv 'sudo chmod +x' och avsluta med retur"
print 'skriv "sudo chmod +x" och avsluta med retur'

(Förutom i php där den ena kan användas för att bygga in variabler och inte den andra.)

Å andra sidan har jag antagit att `kommando` till för att köra saker, typ:
echo "klockan är `klockfunk` och allt är `status`"

Eller?

/Per

SV: köra `` i terminal vs i "menyn"

Postat: 21 jun 2007, 11:03
av Emil.s
per9000 skrev:
Emil.s skrev: Hm, antar att du vet hur ' ', `` eller "" funkar.

Dvs:

Kod: Markera allt

emil@emils-macbook.local: ~ $ NAMN="emil"
emil@emils-macbook.local: ~ $ echo "Jag heter $NAMN"
Jag heter emil
emil@emils-macbook.local: ~ $ echo 'Jag heter $NAMN'
Jag heter $NAMN
Men testa med denna kod istället:
scrot  -s -b /home/per/screenshots/screenshot_$(date +%Y%m%d_%H%M%S).png
Detta funkade fin-fint, man tackar.

Det jag alltid har antagit är att 'string1' och "string2" är till för att nästla strängar, precis som i python, typ:
print "skriv 'sudo chmod +x' och avsluta med retur"
print 'skriv "sudo chmod +x" och avsluta med retur'

(Förutom i php där den ena kan användas för att bygga in variabler och inte den andra.)

Å andra sidan har jag antagit att `kommando` till för att köra saker, typ:
echo "klockan är `klockfunk` och allt är `status`"

Eller?

/Per
Jo, det stämmer. Ingen aning om varför det inte funkade. Se tex:

Kod: Markera allt

emil@emils-macbook.local: ~ $ echo `date`
Thu Jun 21 11:00:02 CEST 2007
emil@emils-macbook.local: ~ $ echo $(date)
Thu Jun 21 11:00:11 CEST 2007
I nödfall så borde iallafall:
bash -c "scrot -s /home/per/screenshots/screenshot_`date +%Y%m%d_%H%M%S`.png"
funka.

SV: köra `` i terminal vs i "menyn"

Postat: 21 jun 2007, 11:24
av per9000
De tre scripten fungerade fin-fint i terminalen. Men inte om jag anropade dem via menyn, eller dubbelklickade via ett gui.

En orsak jag först trodde skulle kunna vara ond vad att jag inte har bash i /usr/bin/bash utan i /bin/bash, men det spelade tydligen ingen roll - det funkade i.a.f. inte.

Nu funkar det kokalolasosfofinontot.

/Per