Uma reescrita:
#!/bin/bash
minutes=$1
trace_path=$2
bkup_path=$3
if [[ ! -d "$trace_path" ]]; then
echo "Error: trace_path '$trace_path' is not a directory" >&2
exit 1
fi
if [[ ! -d "$bkup_path" ]]; then
echo "Error: bkup_path '$bkup_path' is not a directory" >&2
exit 1
fi
echo "Moving files which are older than $minutes minutes"
find "$trace_path" -cmin +"$minutes" -name "*.trc" -exec mv -v -t "$bkup_path" '{}' \+
Notas:
- você não precisa
cd
em qualquer lugar- se você quiser alterar dir para onde o script está, faça isso:
cd "$(dirname "$0")"
- se você quiser alterar dir para onde o script está, faça isso:
- sempre cite seu
"$variables"
, a menos que você saiba exatamente quando deixar as citações fora - não use UPPER_CASE_VARS: um dia você acidentalmente escreverá
PATH=foo
e, em seguida, perguntará por que seu script é quebrado - valide a entrada do usuário
-
find
pode fazer coisas com os arquivos que encontra. -
mv
tem opções, verifique sua página de manual