Sida 1 av 1

zenity och flytta filer från Desktop?

Postat: 26 apr 2008, 11:11
av webaake
I Feisty funkade detta bash/zenityscript

cp ~Desktop/ "$*" /nånannatsans/"$*"

I Hardy fuankar inte detta och inte heller dessa:
cp ~Skrivbord/ "$*" /nånannatsans/"$*
-
cp "$*" /nånannatsans/"$*

/home/user/Desktop eller /hoime/user/Skrivbord hjälper inte heller.

I alla andra mappar funkar detta i Hardy
cp "$*" /nånannatsans/"$*

Men inte om filen ligger på skrivbordet!?

Mitt script ser ut cirka såhär:

#!/bin/bash
# EGET script som flyttar vald fil
(
echo "10"

echo "20"
cp ~/Skrivbord/"$*" /home/user/awatch/"$*"

echo "90"
) | zenity --progress --pulsate --auto-close --title "FLYTTAR TILL " --text "$*"


zenity --info --title "FLYTTAT" --text "$* flyttad"
exit 0

Scriptet gör alltså att man genom att högerklikc på en fil kan flytta den till specificerad mapp. Probelmet är alltså att under Feisty var ~Desktop/"$* inte tom under Harrdy är den det.

Re: zenity och flytta filer från Desktop?

Postat: 26 apr 2008, 14:40
av mcNisse
Jag har svårt att hänga med.
~Desktop betyter hemkatalogen för användare Desktop. Är det det du menar eller ~/Desktop?

Rent generellt är det fel att skriva:

Kod: Markera allt

cp ~/Skrivbord/"$*" /home/user/awatch/"$*"
eftersom om skriptet får fler än ett argument kommer det bli fel (förhoppningsvis). $* expanderas till alla argument som skriptet får.

Kod: Markera allt

cp "$@" /home/user/awatch
borde fungera bättre...

Men du säger att det inte fungerar från desktop. testa med ett extra zenity fönster och kolla var du står när skriptet körs.

Kod: Markera allt

zenity --info --title `pwd` --text "`pwd` $*"
Så kanske du kan lista ut vad som är problemet...

Re: zenity och flytta filer från Desktop?

Postat: 26 apr 2008, 15:17
av webaake
Din kod gav /home/user/Skrivbod precis som det skulle.

Detta funkade i Feisty, varför funkar det inte nu?

cp "$*" funkar som sagt fin-fint överallt annars, men inte på filer på skrivbordet. Vare sig om man skriver ~/Skrivbord eller /home/user/Skrivbord

Re: zenity och flytta filer från Desktop?

Postat: 26 apr 2008, 15:25
av mcNisse
Det låter som du inte skulle ha rätt att komma åt ditt skrivbord?!

vad ger ls -ld ~/Skrivbord ~/Desktop?

För att beskriva skillnaden mellan "$@" och "$*".
Så expanderas "$*" till "$1 $2 $3 osv" medan "$@" blir "$1" "$2" "$3" osv.

Re: zenity och flytta filer från Desktop?

Postat: 26 apr 2008, 15:53
av webaake
ls -ld ~/Skrivbord ~/Desktop
ls: cannot access /home/mrmedia/Desktop: No such file or directory
drwxr-xr-x 2 mrmedia mrmedia 4096 2008-04-26 01:06 /home/mrmedia/Skrivbord

Också som det skulle väl?

Kanske skulle pröva $@ istället?

Re: zenity och flytta filer från Desktop?

Postat: 26 apr 2008, 16:01
av mcNisse
webaake skrev:Också som det skulle väl?
Det är bra omm ditt användarnamn är mrmedia. Fast å andra sidan borde du få kopiera därifrån ändå.... Det hänger på rättigheterna i /home/mrmedia

webaake skrev:Kanske skulle pröva $@ istället?
Det är bättre, men kommer inte lösa ditt problem.

Du kan testa vad som blir fel med detta... du får ev fel i ~/copy.log

Kod: Markera allt

cp "$@" /home/user/awatch 2>&1 >> ~/copy.log

Re: zenity och flytta filer från Desktop?

Postat: 26 apr 2008, 18:35
av webaake
Om man kör den koden på en fil som ligger på Skrivbordet blir copy.log helt tom.

Jag tror att problemet ligger i att $* är en tom variabel när man försöker köra nautilus-scriptet direkt från skrivbordet.
Kör man scriptet s a s inifårn Nautlius, helt enkelt letar upp mappen Skrivbord i nautlius, och därifrån kör samma script. Så funkar det.

Men det funkade som sagt i Feisty direkt från skrivbordet.

Kan det ha nåt att göra med att man gått över till GVFS?