Se você está procurando por um arquivo específico, por que executar um loop? Você pode testar diretamente a existência desse arquivo:
if [[ -f $source ]]
then
dstfile=$(basename "$source")
...
fi
Eu quero escrever um script que procure por um arquivo específico em uma pasta específica. o nome do arquivo e a localização serão pré-definidos no script. Um loop será executado, se o arquivo existir, ele copiará esse arquivo para outro local com data (esse local também será definido) e, se o arquivo não existir, ele exibirá "Arquivo não existir" Eu tentei com isso:
srcdir="/home/bmsc/HOME/oam/data"
dstdir="/home/bmsc/backup"
source=/home/bmsc/HOME/data/haguard.xml
destination=/home/bmsc/backup/
d=$(date +%m%d%y)
for srcfile in ${srcdir}/*
do
dstfile=$(basename $srcfile)
dstfile=${dstfile/\./${d}\.}
cp "$source" "$dstdir/$dstfile"
done
Mas está lidando com todos os arquivos no srcdir. Por favor alguém pode me ajudar nisso.
Se você está procurando por um arquivo específico, por que executar um loop? Você pode testar diretamente a existência desse arquivo:
if [[ -f $source ]]
then
dstfile=$(basename "$source")
...
fi
srcdir="/home/bmsc/HOME/oam/data"
dstdir="/home/bmsc/backup"
source=/home/bmsc/HOME/data/haguard.xml
destination=/home/bmsc/backup/
d=$(date +%m%d%y)
if [ -f $source]; then
dstfile=$(basename $source)
dstfile=${dstfile/\./${d}\.}
cp "$source" "$dstdir/$dstfile"
fi