[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Zipando arquivo: KDE servicemenus + script + zip
From: |
opa |
Subject: |
Re: [shell-script] Zipando arquivo: KDE servicemenus + script + zip |
Date: |
Wed, 12 May 2004 00:47:25 -0300 hrN |
Antes da linha "for infile in $@; do" você deve definir o IFS (Internal Field
Separator) adequado, vide $@ e "man seu_shell".
Como o default do IFS costuma ser espaço, deve ser exatamente por isso que
está pegando a primeira palavra, quando existe espaço no nome. Você pode
confirmar "hexamente" o que há no seu IFS assim:
echo -ne "$IFS"|xxd
Poderá tentar alterá-lo para TAB:
IFS=`echo -e '\t'`
Para NL:
IFS=`echo -ne '\\\n'`
ou
IFS='
'
Provavelmente seu separador adequado deve ser o NL. Mas com é bom saber
com certeza o que chega no ponto de trabalho, sondar inicialmente, antes
do seu for com:
echo -ne "$@"|xxd
talvez não seja má idéia.
Trocar o:
for infile in $@
por:
echo "$@"|while read infile
também pode ser uma alternativa.
Olhando apenas esse trecho do script, são esses os meus palpites.
Boa sorte!
---------------------------------------------------------------------
>From: "zunixbr" <address@hidden>
>Date: Wed, 12 May 2004 04:00:07 -0000
>
>Eu sou usuario do Kurumin e participante do forum
>http://www.kurumin.com.br/forum/ e estou tentando implantar uma
>Estrada de
>Desktop e um script que permitiriam zipar pastas e/ou arquivos com
>apenas 1
>clique.
>
>Aqui um meio que adota o programa zip, compactador ,incluso
>no linux,
>por uma Entrada de Desktop que trabalha em conjunto com um
>script shell,
>permitindo compactar arquivos/diretorios com apenas 1 clique com o
>botao
>direito do mouse.
>
>Tanto as entradas quanto o script foram sugeridos por Kevin Krammer
>
>(address@hidden), com mudanças do participante
>forum do
>kurumin, Zip Megabyte. Foi testado com sucesso no Kurumin 3.0
>(kernel
>2.4.22-xfs), com kde 3.2.2
>
>A entrada deve ser salva no
>diretorio /usr/share/apps/konqueror/servicemenus/ com a
>extensao .desktop, o
>nome vc escolhe.
>
>Entrada:
>
>#Autor: Kevin Krammer <address@hidden>
>[Desktop Entry]
>ServiceTypes=all/all
>Actions=ZipFiles
>=80 =A6
>[Desktop Action ZipFiles]
>Name=Compactar este(s) arquivo(s)
>Exec=zipfiles %F
>Icon=ark.png
>
>
>
>
>O Script devem ficar na pasta /usr/bin com as devidas permissoes
>de
>execucao.
>
>Script zipfiles:
>
>#!/bin/bash
>#Autor: Kevin Krammer (address@hidden)
>#Altera=80 =A6ções por Zip Megabyte
>cd $(dirname $1)
>
>kdialog --dontagain zipinfo:zipmsg --msgbox "Voc=80 =A6ê pode
>selecionar
>um
>ou mais arquivos e/ou diret=80 =A6órios mantendo pressionada a tecla
>
>ctrl,
>colocando todos num =80 =A6único arquivo zip. Neste caso, nome do
>primeiro
>arquivo, em ordem alfab=80 =A6ética de sua sele=80 =A6ção,
>ser=80 =A6á
>pr=80 =A6é-definido na
>caixa de texto."
>
>$ cat ~/.kde/share/config/zipinfo
>[Notification Messages]
>zipmsg=false
>
>nome=`kdialog --caption "Zipar arquivos" --getsavefilename
>$1.zip .zip`
>if ["$nome" = ""]
>then
>exit 0
>fi
>for infile in $@; do
>zip -r $nome $(basename $infile) /dev/null 2>&1
>done;
>
>Com o clique com o botao direito sobre o(s)
> arquivo(s)/diretorio(s)
>desejado:
>
>
>Agora os problemas...
>
>1. Parece que o programa zip nao consegue zipar
>arquivo(s)/diretorio(s) com
>nomes compostos separados por espaco, exemplo um arquivo .txt
>chamado 'minhas
>musicas' nao e compactado com o nome completo, apenas a palavra
>'minha'
>aparece na caixa de texto do kdialog . Se um arquivo de nome
>separado por
>espacos estiver num diretorio e este tiver nome 'padrao' o
>programa
>compacta.
>
>Seria muito util um script q enviasse o arquivo ja zipado
>anexado
>pelo kmail (kmail --attach)
>
>Participo do forum Kurumin buscando a maior adapta=80 =A6ção do
>sistema
>ao
>usuario leigo, comum,
>que busca a migracao do windows para linux.
>
>Seria muito qualquer ajuda
>
>Obrigado
>
>
>Marcio
- Re: [shell-script] Zipando arquivo: KDE servicemenus + script + zip,
opa <=