Vamos criar scripts úteis aqui!?

Iniciado por Alyscom, 11 de Dezembro de 2009, 10:32

tópico anterior - próximo tópico

bred81

Citação de: velox256 online 19 de Dezembro de 2009, 23:31
Não esqueçam que os scripts do Nautilus-scripts precisam de permissão de executável...
Obrigado, tava quebrando aqui a cabeça pra fazer funfar...
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...

Cálcio

#31
Boa noite...
Crei um script com (ajuda da galera daqui do forum e apostilas online) para me facilitar na execução da minha webcam no skype.


#! /bin/bash

echo "Deseja executar o script de conficuração da webcam no Skype? [S/N]"
read resp
test "$resp" = "N" && exit

### Renomeia o skype para skype.bkp
mv /usr/bin/skype /usr/bin/skype.bkp

echo "#!/bin/bash" > /usr/bin/skype
echo "LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype.bkp" >> /usr/bin/skype

### Permissão para execução
chmod  +x /usr/bin/skype



bred81

#32
Citação de: Cálcio online 24 de Dezembro de 2009, 22:11
...

#! /bin/bash
### Renomeia o skype para skype.bkp
sudo mv /usr/bin/skype /usr/bin/skype.bkp

### Cria o arquivo skype novo
sudo gedit /usr/bin/skype

#!/bin/bash
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype.bkp

### Permissão para execução
sudo chmod  +x /usr/bin/skype



### Cria o arquivo skype novo
sudo touch /usr/bin/skype
sudo gedit /usr/bin/skype


Esqueci como fazer para escrever algo no arquivo... Mas, se não me engano:
sudo "bla bla bla" > /usr/bin/skype

Espero que seja algo parecido com isso, se não, não entendi sua dúvida.
O "touch" cria um arquivo em branco...
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...

nemex1975

Citação de: Alyscom online 19 de Dezembro de 2009, 00:43
Copiar & Mover para...

Primeiro Copiar para...

Crie um documento de texto só com o nome "Copiar para..." abra e insira esse codigo

#!/bin/bash

script-worker copy $NAUTILUS_SCRIPT_SELECTED_URIS

E salve na Pasta /home/Seu_usuario/.gnome2/nautilus-scripts

Agora Mover para...

Crie um documento de texto só com o nome "Mover para..." abra e insira esse codigo

#!/bin/bash

script-worker move $NAUTILUS_SCRIPT_SELECTED_URIS

E salve na Pasta /home/Seu_usuario/.gnome2/nautilus-scripts

Agora é só clicar em um item com o botão direito e escolher se quer mover ou copiar ele para algum lugar, muito util!!

Bom.. Acho que é isso! ;D



[]'s



Alyscom

Bom dia.

Eu fiz da forma indicada, tornei executável, as abas dos scripts estão no menu do Nautilus, mas ele não copia/move/cria atalho para nada.

Quando clico em um arquivo qualquer com o botão direito e seleciono qualquer das três opções nada acontece.

O menu do Nautilus simplesmente fecha, os arquivos selecionados não são copiados/movidos/criado atalhos e tudo fica como antes.

O que está errado nisso que fiz? Tem funcionado para todos?
Abs.,
Nemex1975
Perfil: http://goo.gl/uu7qc
Core2Quad 2.33GHz, 8 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i5-450M, 2.3 GHz, 4 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i3-2310M, 2.1 GHz, 4 GB RAM, W7 64 bits; iPhone 5 iOS 7.0.2, 1 GB RAM, 16 GB; Samsung Galaxy S3 Android OS 4.1.2, 1 GB RAM, 32 GB; Milestone2, 4.1.2 CM10

velox256

Instale os pacotes "gksu" e "gnomesu" que eu acho que funciona, heheheh...
Computador perereca, com disco perereca, monitor perereca e sistema super xuxu. Visitem a minha página em http://sidserra.k6.com.br ou meu blog em http://sidserra.blogspot.com.br.

nemex1975

Citação de: velox256 online 25 de Dezembro de 2009, 17:28
Instale os pacotes "gksu" e "gnomesu" que eu acho que funciona, heheheh...

Bom dia.

O gksu já está instalado, mas "gnomesu" não está nos meus repositórios. Onde eu o consigo? Ele não foi substituído pelo gksudo ou faz a mesma coisa (fonte: http://www.gdhpress.com.br/linux/leia/index.php?p=cap1-17)?
Abs.,
Nemex1975
Perfil: http://goo.gl/uu7qc
Core2Quad 2.33GHz, 8 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i5-450M, 2.3 GHz, 4 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i3-2310M, 2.1 GHz, 4 GB RAM, W7 64 bits; iPhone 5 iOS 7.0.2, 1 GB RAM, 16 GB; Samsung Galaxy S3 Android OS 4.1.2, 1 GB RAM, 32 GB; Milestone2, 4.1.2 CM10

nemex1975

#36
Bom dia.

Eu pesquisei aqui no fórum e achei a resposta abaixo para este script.

Dessa forma funcionou, pois eu notei que o velox256 substitui o termo "move" por "mv", que é o código usado no Terminal.

Fiz a mesma coisa, copiei todo o script mudando "mv" para "cp" e também funcionou como "copiar para", sem necessitar instalar o gnomesu.

Qual o código para criar atalhos (link) pelo Terminal? O código é "link" mesmo ou é outro? Seja qual for, no meu caso eu teria de substituir "mv" pelo código de criação de link/atalho e acho que também funcionaria.
Abs.,
Nemex1975

Citação de: velox256 online 10 de Outubro de 2009, 11:37
O amigo acima não entendeu a pergunta, há diferenças entre "mover" e "mover para". Vc pode usar um script para criar itens como Copiar Para ou Mover Para, ou usar um programa chamado Nautilus Actions que também faz a mesma coisa. Pra criar os Copiar Para e Mover para, abra o Terminal e digite:

Citargedit .gnome2/nautilus-scripts/mover para

No arquivo aberto, copie e cole o seguinte texto:

Citar#!/bin/bash
#########################################################
#                     #
# This are NScripts v3.5            #
#                     #
# Licensed under the GNU GENERAL PUBLIC LICENSE 3   #
#                     #
# Copyright 2007 - 2008 Christopher Bratusek      #
#                     #
#########################################################

if [[ -x /usr/bin/gksu || -x /opt/gnome/bin/gksu ]]; then
   sudotool="gksu -u root"
elif [[ -x /usr/bin/gnomesu || -x /opt/gnome/bin/gnomesu ]]; then
   sudotool=gnomesu
fi

destination=$(zenity --file-selection --directory --title "Where to move files?")

echo $NAUTILUS_SCRIPT_SELECTED_URIS > ~/.gnome2/temp_move_list

for file in $(cat ~/.gnome2/temp_move_list); do \

   file_name=$(echo $file | sed -e 's/file:\/\///g' -e 's/\%20/\ /g')
   short_file_name=$(echo $file | sed -e 's#.*/##g' -e 's/\%20/\ /g')

   if [[ -w $destination && -a $destination/$short_file_name ]]; then \
      confirm=$(zenity zenity --question --text "Overwrite File $destination/$short_file_name?"; echo $?)
      if [[ $confirm == 0 ]]; then
         mv "$file_name" $destination
         if (( $? != 0 )); then
         zenity --info --text "Something went wrong" --title "Failure"
         fi
      fi
   elif [[ -w $destination ]]; then \
      mv "$file_name" $destination
      if (( $? != 0 )); then
      zenity --info --text "Something went wrong" --title "Failure"
      fi
   elif [[ -a $destination && $sudotool != "" ]]; then
      $sudotool "mv \"$file_name\" $destination"
   else   zenity --info --title "Failure" --text "$destination does either not\nexist or is not writable"
   fi; \
done

rm -f ~/.gnome2/temp_move_list

Salve o arquivo, feche o Gedit e digite no Terminal:

Citarchmod a+x .gnome2/nautilus-scripts/mover para

Pronto, ao clicar em uma pasta ou arquivo, aparecerá um novo menu chamado Scripts onde vc verá dentro dele o item mover para, é só clicar nele, vc escolhe o destino e pronto. Uma outra forma é vc instalar o pacote nautilus-scripts através do Synaptic.
Perfil: http://goo.gl/uu7qc
Core2Quad 2.33GHz, 8 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i5-450M, 2.3 GHz, 4 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i3-2310M, 2.1 GHz, 4 GB RAM, W7 64 bits; iPhone 5 iOS 7.0.2, 1 GB RAM, 16 GB; Samsung Galaxy S3 Android OS 4.1.2, 1 GB RAM, 32 GB; Milestone2, 4.1.2 CM10

bred81

Citação de: nemex1975 online 26 de Dezembro de 2009, 07:08
...

Qual o código para criar atalhos (link) pelo Terminal? O código é "link" mesmo ou é outro? Seja qual for, no meu caso eu teria de substituir "mv" pelo código de criação de link/atalho e acho que também funcionaria.
Abs.,
Nemex1975

...
ln -s arquivo lugar cria um link simbólico, se você mover o arquivo de origem, o link para de funcionar.
ln arquivo lugar cria um hard link, que seria um ponteiro do arquivo original, você pode mover o arquivo para onde quiser que continua funcionando.
Não sei qual utilidade existe nos dois, mas sei que têm essa diferença...
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...

nemex1975

#38
Citação de: bred81 online 26 de Dezembro de 2009, 14:36

ln -s arquivo lugar cria um link simbólico, se você mover o arquivo de origem, o link para de funcionar.
ln arquivo lugar cria um hard link, que seria um ponteiro do arquivo original, você pode mover o arquivo para onde quiser que continua funcionando.
Não sei qual utilidade existe nos dois, mas sei que têm essa diferença...

Bom dia.
O script não aceitou o comando ln... tive de colocar ln -s, mas está funcionando.

Mas tem um problema: tenho diretórios com nomes compostos (ex.: /media/COPIAS/Programas Gerais/) e os scripts não tem funcionado quando direciono para estes diretórios, só funcionando em diretórios com nomes simples e sem separação (ex.: /home/usuário/Documentos).

O que precisa ser mudado nos scripts para eles conseguirem apontar para um diretório com nome composto?
Abs.,

Nemex1975
Perfil: http://goo.gl/uu7qc
Core2Quad 2.33GHz, 8 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i5-450M, 2.3 GHz, 4 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i3-2310M, 2.1 GHz, 4 GB RAM, W7 64 bits; iPhone 5 iOS 7.0.2, 1 GB RAM, 16 GB; Samsung Galaxy S3 Android OS 4.1.2, 1 GB RAM, 32 GB; Milestone2, 4.1.2 CM10

Alyscom

Citação de: nemex1975 online 30 de Dezembro de 2009, 20:28
Mas tem um problema: tenho diretórios com nomes compostos (ex.: /media/COPIAS/Programas Gerais/) e os scripts não tem funcionado quando direciono para estes diretórios
Tente fazer assim (ex.: /media/COPIAS/Programas\ Gerais/) e ver se da certo!! :)



[]'s



Alyscom
O álcool é o photoshop da vida real
 

bred81

Citação de: nemex1975 online 30 de Dezembro de 2009, 20:28
Citação de: bred81 online 26 de Dezembro de 2009, 14:36

ln -s arquivo lugar cria um link simbólico, se você mover o arquivo de origem, o link para de funcionar.
ln arquivo lugar cria um hard link, que seria um ponteiro do arquivo original, você pode mover o arquivo para onde quiser que continua funcionando.
Não sei qual utilidade existe nos dois, mas sei que têm essa diferença...

Bom dia.
O script não aceitou o comando ln... tive de colocar ln -s, mas está funcionando.

Mas tem um problema: tenho diretórios com nomes compostos (ex.: /media/COPIAS/Programas Gerais/) e os scripts não tem funcionado quando direciono para estes diretórios, só funcionando em diretórios com nomes simples e sem separação (ex.: /home/usuário/Documentos).

O que precisa ser mudado nos scripts para eles conseguirem apontar para um diretório com nome composto?
Abs.,

Nemex1975
Aproveita também, para mudar o nome do diretórios.
Apesar de funcionar com: "nome\ comportos" fica muito mais fácil se separa-los por um underscore ou um hífen simplismente...
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...

nemex1975

Citação de: Alyscom online 31 de Dezembro de 2009, 05:33
Citação de: nemex1975 online 30 de Dezembro de 2009, 20:28
Mas tem um problema: tenho diretórios com nomes compostos (ex.: /media/COPIAS/Programas Gerais/) e os scripts não tem funcionado quando direciono para estes diretórios
Tente fazer assim (ex.: /media/COPIAS/Programas\ Gerais/) e ver se da certo!! :)

[]'s

Alyscom

Bom dia Alyscom.

Fazer dessa forma, ou colocar os nomes compostos entre aspas, funciona se eu digitar o comando para mover no Terminal, mas eu gostaria de saber se existe alguma forma de fazer o script já interpretar corretamente o destino do arquivo, da cópia ou do atalho para ficar mais fácil o manuseio, senão aparecerá mensagem de erro o tempo todo.
Abs.,
Nemex1975
Perfil: http://goo.gl/uu7qc
Core2Quad 2.33GHz, 8 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i5-450M, 2.3 GHz, 4 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i3-2310M, 2.1 GHz, 4 GB RAM, W7 64 bits; iPhone 5 iOS 7.0.2, 1 GB RAM, 16 GB; Samsung Galaxy S3 Android OS 4.1.2, 1 GB RAM, 32 GB; Milestone2, 4.1.2 CM10

sboorbou

Boas?

Alguem poderia me ajudar?

http://ubuntuforum-br.org/index.php?topic=61407.new#new

caso esteja meio confuso, eu posso explicar novamente...........
duvida eu em você sinto... duvida a raiva leva, raiva ao ódio leva, ódio é o lado negro da força - Mestre Yoda

bred81

Citação de: sboorbou online 15 de Janeiro de 2010, 09:27
Boas?

Alguem poderia me ajudar?

http://ubuntuforum-br.org/index.php?topic=61407.new#new

caso esteja meio confuso, eu posso explicar novamente...........
Ao invés de usar "find", usa "locate"
locate arquivo.txt
Ele vai te mostrar aonde estão todos os arquivo.txt
Acho que vai continuar criando um monte de entrada pra mesma pasta, mas não custa nada tentar...
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...

sboorbou

na verdade, eu estou usando o find para criar uma lista de diretorios, para dentro de cada um deles executar algumas tarefas....

vou testar seu exemplo...
duvida eu em você sinto... duvida a raiva leva, raiva ao ódio leva, ódio é o lado negro da força - Mestre Yoda