PROBLEMA:
Estou aprendendo bash
com livros (Linux Shell Scripting com Bash, Ken O. Burch) e este livro que estou seguindo agora está usando este comando:
/usr/bin/statftime
mas não consigo encontrar este comando para o meu Linux
Estou usando o trecho Debian 9.0
PERGUNTA:
Você pode me falar sobre este comando e se é possÃvel instalá-lo no Debian e como instalá-lo no Debian?
EDITAR:
O livro é um dos melhores bash
(Linux Shell Scripting with Bash, Ken O. Burch) que já li (@Gilles) então isso provavelmente não é um truque e vou postar o código abaixo:
Aqui está o código:
#!/bin/bash -x
#
# polling.sh: a daemon using polling to check for new files
shopt -s -o nounset
declare -rx SCRIPT=${0##*/}
declare -rx INCOMING_FTP_DIR="/home/ftp/ftp_incoming"
declare -rx PROCESSING_DIR="/home/ftp/processing"
declare -rx statftime="/usr/local/bin/statftime"
declare FILE=""
declare FILES=""
declare NEW_FILE=""
printf "$SCRIPT started at %s\n" "`date`"
# Sanity checks
if [[ ! -d /home/ftp/ftp_incoming ]] || [[ ! -d /home/ftp/processing ]]
then
mkdir -p /home/ftp/ftp_incoming
mkdir -p /home/ftp/processing
if [ "$?" -ne 0 ]
then
echo "You are a idiot"
else
echo "You succeded!"
fi
fi
if test ! -r "$INCOMING_FTP_DIR"
then
printf "%s\n" "$SCRIPT:$LINENO: unable to read the incoming directory --aborted" >&1
exit 1
fi
if test ! -r "$PROCESSING_DIR"
then
printf "%s\n" "$SCRIPT:$LINENO: unable to read the incoming directory --aborted" >&1
exit 1
fi
if test ! -r "$statftime"
then
printf "%s\n" "$SCRIPT:$LINENO: unable to find or execute $statftime --aborted" >&1
exit 1
fi
# Poll for new FTP files
cd $INCOMING_FTP_DIR
while true
do
#check for new files more than 30 minutes unchanged
FILES=`find . -type f -mmin +30 -print`
# If new files exist, move them to the processing directory
if [ ! -z "$FILES" ]
then
printf "$SCRIPT: new files have arrived at %s\n" "`date`"
printf "%s\n" "$FILES" |
{
while read FILE
do
# Remove leading "./"
FILE=${FILE##*/}
# Rename the file with the current time
NEW_FILE=`$statftime -f "%_L%_a_%T.dat" "$FILE"`
if [ -z "$NEW_FILE" ]
then
printf "%s\n" "$SCRIPT:$LINENO: statftime failed to create a new filename--skipping"
else
# Move the file to the processing directory
printf "%s\n" "$SCRIPT: moved $FILE to $PROCESSING_DIR/$NEW_FILE"
mv "$FILE" "$PROCESSING_DIR/$NEW_FILE"
fi
done
}
fi
sleep 30
done
printf "$SCRIPT finished unexpectedly at %s\n" "`date`"
exit 1
Aqui estão algumas informações sobre o comando:
Solução
Uma simples pesquisa no Google por statftime retornou o fornecedor do software para o programa que você está procurando, como o primeiro resultado. A PegaSoft parece ser um blog com foco no Linux e na linguagem de programação Ada .
Observe que uma busca por
statftime debian
não retorna nada relacionado aos Repositórios Debian. As instruções de instalação exigirão o pacote build-essential , com instruções de instalação em: Debian Linux Instalar GNU GCC Compiler and Development Environment . Em algum lugar do seu livro, tenho certeza que esse link existe como uma nota de rodapé etc.