NOTA: - $ Usuário Imprimirá os nomes de usuário dos usuários de login atuais.
Se você está curioso.
$ Bash -Versão
Saída da versão Bash.
Criando e executando o script Bash
Vamos começar com a criação de um arquivo simples usando qualquer editor de sua escolha. Para mim, o editor VI é mais confortável. Para fazer o arquivo executável, precisamos adicionar shebang (!#) e localização do intérprete de bash no início do script. Eu criei um texto.Arquivo TXT e adicione -o ao Bash_Demo Dir no meu diretor de casa que contém algum texto para fins de demonstração.
$ touch bash_demo.sh
$ VI BASH_DEMO.sh
Adicione as seguintes linhas em seu editor de texto para uma demonstração de amostra depois de criar um arquivo; se não o fizer, o editor criará um novo arquivo em gravação e desistir.
#!/BIN/BASH
Texto de CP.txt /tmp /
eco “arquivo copiado.”
Podemos executar o script usando ./ Antes do arquivo de script, que determina o arquivo DIR atual.
$ ./Bash_Demo.sh
Quando executarmos o script, o seguinte erro será lançado em nosso terminal.
Execução inicial do arquivo Bash.
Quando criamos um arquivo por padrão, o usuário não tem permissão de execução para o arquivo. Para fornecer permissão de execução ao usuário, o seguinte comando deve ser executado.
$ chmod +x Bash_demo.sh
Saída após permissão concedida.
Copie apenas arquivos de um diretório específico
Para buscar todos os arquivos e dir a partir de um caminho específico, usaremos o loop no script e filtre o único arquivo usando se condição. No exemplo abaixo, executamos o comando CP apenas executado se o iterador era um arquivo que é determinado -f sinalizador.
#!/BIN/BASH
dpath =/var/log/nginx/*
para arquivo em $ dpath
fazer
Se [[-f $ FILE]]
então
CP $ arquivo/home/$ user/
outro
eco “não há arquivos no caminho fornecido.”
fi
feito
Copie todos os arquivos de extensões específicas
Neste exemplo, copiaremos todos os arquivos com o .Extensão de log. Precisamos adicionar *.faça login no caminho para que item o único arquivo com .Extensão de log apenas para loop.
#!/BIN/BASH
para arquivo in/var/log/nginx/*.registro
fazer
CP $ arquivo/home/$ user/
feito
Copie todos os arquivos, incluindo diretório
Neste exemplo, copiaremos todos os arquivos, incluindo diretórios, recursivamente. Para isso, simplesmente precisamos adicionar comando -r cp onde -r determina a busca recursivamente.
#!/BIN/BASH
para arquivo in/var/log/*
fazer
cp -r $ file/home/$ user/
feito
Copie arquivos do caminho especificado pelo usuário
Neste exemplo, copiaremos arquivos do DIR especificado pelo usuário. Para fazer isso, usaremos o comando de leitura para solicitar o caminho do usuário e verifique se o usuário fornece o caminho para dir ou não, o que é feito pelo sinalizador -d na condição. Depois de verificar o DIR, usaremos um loop for para iterar todos os arquivos e dir dentro do caminho fornecido, depois filtrar os únicos arquivos usando a condição if. Se a condição corresponder, o seguinte comando CP será executado.
#!/BIN/BASH
eco “Por favor, forneça um caminho para o diretor.”
Leia o caminho
Se [[-d $ caminho]]
então
Para arquivo em $ PATH/*
fazer
Se [[-f $ FILE]]
então
CP $ arquivo/home/$ user/
outro
eco “não há arquivos no caminho fornecido.”
fi
feito
outro
eco “caminho para dir é necessário”
fi
No meu diretor de casa, eu tenho os seguintes arquivos e dir.
Saída ao fornecer o caminho para um arquivo.
Saída ao fornecer caminho de localização de dir.
Depois de executar o arquivo de script, podemos verificar a saída no diretor predefinido no script. No meu caso, copiei o arquivo em minha casa, e o seguinte é o resultado.
Conclusão
Neste artigo, aprendemos sobre como copiar arquivos usando scripts de bash. Podemos usar muitas outras operações, como um loop, if-else, etc. O script de bash é mais eficaz ao trabalhar com vários comandos para executar tarefas específicas. Espero que você goste deste artigo sobre copiar arquivos usando um script bash.