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.