Slacktrek Linux

um blog sobre linux, software livre, shell script e afins

Script para criar pasta e copiar arquivo

25 de jan de 2022 — SlackTrekBr

Certa vez me deparei com uma pergunta em um fórum sobre o comando 'cp' (copiar arquivo), se ele seria capaz de copiar um arquivo para uma pasta que não existe, compreendendo claro que isso indicaria que ele deveria criar a tal pasta.


A resposta foi categórica, dizendo que não existe tal instrução no comando 'cp'. Daí me veio a pergunta: "e se fosse um script?"
Claro que na mesma hora fui ao terminal criar o tal comando! É bem simples de fato!

#!/usr/bin/env bash
#
# Script para copiar arquivo(s) para uma pasta de destino
# criando a mesma caso ela não exista
#

# Checa se o caminho de destino existe
if [[ -e "$2" ]]; then
 # Caso exista a cópia é realizada com opção verbose (-v) ativada
 cp -v "$1" "$2"
else
 # Caso a pasta não exista ela é criada antes da cópia acontecer
 mkdir -p "$2" && cp -v "$1" "$_"
fi

Basta copiar o script acima, colar via editor de texto (vim, nano, xed, etc), salvar com um nome simples, curto e de fácil identificação e torna-lo executável dentro de uma pasta no seu $PATH de comandos.

Não preciso dizer que apesar de simples, sempre pode haver algo a melhorar, então, sinta-se livre pra modificar e adaptar o script às suas necessidades. ;)

Pequeno shell script para criar uma pasta destino ao copiar um arquivo.
Pequeno script que cria uma pasta de destino ao copiar um arquivo, caso ela não exista.
0.5

Tags: script, shell, linux