Como posso salvar alguns comandos do terminal como um arquivo e executá-los?

1

Estou usando o OpenSuSe 12.3

Eu quero criar um link na minha área de trabalho para alguns comandos de terminal específicos.

O pano de fundo é que eu faço algum backup via rsync e não quero digitar os comandos todas as vezes. Eu também não quero usar um cronjob, já que meu computador não está rodando o tempo todo.

A solução perfeita seria um ícone na área de trabalho, que ao clicar executa o (s) comando (s).

Alguém poderia me dizer como fazer isso?

    
por Jakob Abfalter 26.10.2013 / 17:45

1 resposta

3

O que você está pedindo é chamado de script de shell . Em sua forma mais simples, isso é apenas um arquivo de texto com uma lista de comandos que serão executados quando o arquivo for executado. Por exemplo, para executar seu trabalho rsync , crie um arquivo de texto chamado rsync.bash em sua área de trabalho e adicione essas linhas a ele:

#!/bin/bash

rsync source target

Você, obviamente, precisará substituí-lo pelo comando rsync real que deseja executar. Agora, torne o arquivo executável:

chmod +x ~/Desktop/rsync.bash

Agora você pode executar o comando rsync clicando duas vezes no arquivo de texto em sua área de trabalho. Dependendo de como o seu sistema está configurado, você pode ser apresentado com este diálogo quando você clica duas vezes:

Clique em Run ou Run in terminal para executar o script. Para executar o arquivo sem que este diálogo apareça, você precisará criar uma entrada .desktop para ele. Crie um arquivo em sua área de trabalho chamado rsync.desktop e adicione essas linhas a ele:

[Desktop Entry]
Name=Run rsync 
Comment=Rsync script
Exec=/home/user/Desktop/rsync.bash
Icon=/home/user/myicon.gif
Terminal=false
Type=Application

Agora ele deve aparecer em sua área de trabalho usando o ícone /home/user/myicon.gif e você pode executá-lo clicando duas vezes. Se você quiser fazer isso para vários scripts, a prática padrão é criar um diretório $HOME/bin ou $HOME/scripts , salvar todos os seus scripts lá e criar .desktop arquivos chamando cada script. Basta alterar a linha Exec acima para Exec=/home/user/scripts/rsync.bash

    
por 26.10.2013 / 18:31