Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Script para Verificar Diretório e Copiar Arquivo Condicionalmente

Script:


#!/bin/bash

# Função para exibir uso do script
mostrar_uso() {
echo "Uso: $0 -d <diretório> -f <arquivo> [-c]"
echo " -d <diretório> : Diretório de destino para verificar e copiar o arquivo."
echo " -f <arquivo> : Arquivo a ser copiado."
echo " -c : (Opcional) Condicionar a cópia do arquivo (copia apenas se o arquivo não existir no destino)."
exit 1
}

# Verifica se o número de argumentos é menor que 4
if [ "$#" -lt 4 ]; then
mostrar_uso
fi

# Inicializa variáveis
condicional=false

# Processa os argumentos
while getopts "d:f:c" opt; do
case $opt in
d) diretorio="$OPTARG" ;;
f) arquivo="$OPTARG" ;;
c) condicional=true ;;
*) mostrar_uso ;;
esac
done

# Verifica se o diretório existe
if [ ! -d "$diretorio" ]; then
echo "Erro: O diretório '$diretorio' não existe."
exit 1
fi

# Verifica se o arquivo existe
if [ ! -f "$arquivo" ]; then
echo "Erro: O arquivo '$arquivo' não existe."
exit 1
fi

# Define o caminho de destino do arquivo
destino="$diretorio/$(basename "$arquivo")"

# Condiciona a cópia do arquivo
if [ "$condicional" = true ]; then
if [ -f "$destino" ]; then
echo "Arquivo já existe no destino. Cópia não realizada."
exit 0
fi
fi

# Copia o arquivo para o diretório
cp "$arquivo" "$diretorio"
echo "Arquivo '$arquivo' copiado para '$diretorio'."

Como Executar o Script:


1. Abra um terminal no ambiente Linux.
2. Crie um arquivo de script, por exemplo, copiar_arquivo.sh, e copie o código acima para dentro dele.
3. Torne o script executável com o comando: chmod +x copiar_arquivo.sh.
4. Execute o script utilizando a seguinte sintaxe:


   ./copiar_arquivo.sh -d <diretório> -f <arquivo> [-c]

Substitua <diretório> pelo caminho do diretório de destino e <arquivo> pelo caminho do arquivo que deseja copiar. Use a opção -c se quiser condicionar a cópia (só copiará se o arquivo não existir no destino).


To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.