Script simples de localizar e copiar para o linux [closed]

2

Sou um novato em scripts no Linux. O que eu estou tentando obter é um script simples que encontra um arquivo pelo seu nome exato, então copie esse arquivo para uma pasta diferente.

Então, basicamente, deve funcionar como "./findandcopy [filename]" Isto é o que eu tenho até agora:

#!/bin/sh

ARGS=1
E_BADARGS=65
E_NOFILE=66

if [ $# -ne "$ARGS" ]  # Correct number of arguments not passed
 then
  echo "Usage: 'basename $0' filename"
  exit $E_BADARGS
fi


'find ./ -name \'  -exec cp {} /home/marc/ \;

mas isso não vai funcionar para mim. Aprecie qualquer ajuda.

    
por LetzFetz 31.01.2014 / 14:41

1 resposta

3

Você deve usar:

find ./ -name "$1" -exec cp {} /home/marc/ \;

Sem aspas simples ao redor. Caso contrário, o shell tratará todo o comando find ./ -name \ como um único nome de arquivo e tentará executá-lo.

Você deve citar o argumento "$1" para impedir que os espaços em branco ou globs no nome do arquivo se expandam.

    
por 31.01.2014 / 15:01

Tags