[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: не срабатывает условие в bash



Vladimir Skubriev -> Debian-russian  @ Thu, 27 Mar 2014 16:27:48 +0400:

 VS>  
 VS> Есть скрипт:
 VS>  
 VS>         ENABLE_SYSLOG=true
 VS>         test -r /etc/default/inotifywait && . /etc/default/inotifywait || exit 99
 VS>         test -d $INOTIFY_FOLDER || exit 100
 VS>  
 VS>         inotifywait -mrq -e ATTRIB --format '%w%f' "$INOTIFY_FOLDER" | while IFS= read -r FILE
 VS>         do
 VS>                 if [ -f $FILE ];then
 VS>                         # If file
 VS>                         if [ `stat -c %a $FILE` != "664" ] ;then
 VS>                         CHMOD_LOG=$(chmod -v 664 "$FILE");  [[ -f $FILE ]] && logger -t inotifywait -p user.info "$CHMOD_LOG" &
 VS>                         fi
 VS>                 else
 VS>                         # If directory
 VS>                         if [ `stat -c %a $FILE` != "2775" ] ;then
 VS>                         CHMOD_LOG=$(chmod -v 2775 "$FILE");  [[ "$ENABLE_SYSLOG" = true ]] && logger -t inotifywait -p user.info "$CHMOD_LOG" &
 VS>                         fi
 VS>                 fi
 VS>         done
 VS>  
 VS> Не получается выполнить logger по условию:
 VS>  
 VS> [[ -f $FILE ]] 
 VS>  
 VS> или
 VS>  
 VS> [[ "$ENABLE_SYSLOG" = true ]] 
 VS>  
 VS> Почему logger не срабатывает?

Потому что у $FILE уже подходящие права, и мы не попадаем в эту ветку if?


Reply to: