![проблема с /compress](https://rvso.com/image/31671/%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0%20%D1%81%20%2Fcompress.png)
У меня есть скрипт, который был предоставлен вместе с каким-то ПО. Вывод скрипта примерно такой (в режиме отладки).
+ changeDirectory
+ '[' -d /cdr/work/proc_raw/proc ']'
+ cd /cdr/work/proc_raw/proc
+ echo 'Changed to the directory: /cdr/work/proc_raw/proc'
Changed to the directory: /cdr/work/proc_raw/proc
+ retypeFileName
++ echo ''\''*.old'\'''
++ sed 's/'\''//g'
+ FILE='*.old'
+ case $TYPE in
+ compressFiles
+ echo 'files to compress: '
files to compress:
+ find . -name '*.old' -mtime +3
./file1.cdr.old
./file2.cdr.old
...
+ find . -name '*.old' -mtime +3
+ xargs compress -f
+ ecode=0
+ '[' 0 -gt 0 ']'
+ echo 'executed: find . -name *.old -mtime +3 | xargs compress -f'
Однако после этого при поиске файла file1.cdr.old.Z, file1.cdr.old.Z, .. в этом каталоге файл там не обнаруживается.
Если выполнить file
команду, то, похоже, нет никаких причин для сбоя сжатия:
-bash-3.2# file file1.cdr.old
file1.cdr.old: ASCII text, with very long lines
Какие-либо предложения?
EDIT: соответствующие части сценария:
# Change to the selected directory
changeDirectory (){
if [ -d $DIRECTORY ]
then
cd $DIRECTORY
echo "Changed to the directory: $DIRECTORY" >> $LOGFILE
else
echo "$DIRECTORY does not exists" >> $LOGFILE
exit 1
fi
}
# Removes the "'" characters from filename.
retypeFileName (){
FILE=$(echo $FILE | sed s/"'"//g )
}
# COMPRESSING FILES
compressFiles () {
echo "files to compress: " >> $LOGFILE
find . -name "$FILE" -type f $ACTION_TYPE +$PARAM >> $LOGFILE
find . -name "$FILE" -type f $ACTION_TYPE +$PARAM | xargs compress -f
ecode=$?
if [ $ecode -gt 0 ]
then
dt=`date "+%Y-%b-%d %H:%M:%S"`
echo "$dt > ERROR while compressing files. Error Code was $ecode" >> $LOGFILE
exit 2
fi
echo "executed: find . -name "$FILE" -type f $ACTION_TYPE +$PARAM | xargs compress -f" >> $LOGFILE
}