você está aqui: Home  → Arquivo de Mensagens

Bash - cópia de arquivo para a área de transferência

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 24 de agosto de 2017

A dica de hoje é mais um presente do Júlio Cezar Neves, o Papai do Shell. Trata-se de um programa que lê dados de um arquivo ou da entrada primária e os carrega para a área de transferência.

( Download do script )

#!/bin/bash

#  Este programa lê dados de um arquivo ou da entrada
#+ primária e os carrega para a área de transferência

if ! [[ -t 0 ]]  #  Testa se o file descriptor 0 (entrada
                 #+ primária) está aberto no terminal
then
    echo -n "$(< /dev/stdin)" | 
        xclip -selection c && \
            echo "Copiado para a área de transferência"
else
    if [[ -z "$@" ]]  # Se não recebeu nenhum parâmetro
    then
        echo "    Uso:
        $0  - Copia ARQUIVO p/ área de transferência
            Exemplo: $0 /caminho/do/arquivo

        COMANDO | $0 - Copia saída de COMANDO p/ área de transf.
            Exemplo: echo A B C | $0

        Um +V exibirá o conteúdo copiado"
        exit 1
    fi
    # Então parâmetro passado foi um arquivo.
    if [[ ! -f "$@" ]]
    then
        echo  Arquivo $@ não existe
        exit 1
    else
        xclip -i -selection clipboard "$@"
        echo " Arquivo "$@" copiado para área de transf."
    fi
fi


Veja a relação completa dos artigos de Rubens Queiroz de Almeida