Ответ 1
_
является допустимым символом для имени переменной, а $FOLDERNAME_
не существует.
echo "$BACKUP_DESTINATION/$DATE_FOLDER/${FOLDERNAME}_$FILENAME"
Я использую это
DATE_FOLDER=$(date +"%b-%d-%a-%G")
FILENAME="HOME_$date1.tar.gz"
echo $BACKUP_DESTINATION/$DATE_FOLDER/$FOLDERNAME_$FILENAME
Мой вывод
home/May-04-Wed-2011/HOME_May-04-0718PM-2011.tar.gz
но если я использую -
вместо подчеркивания _
echo $BACKUP_DESTINATION/$DATE_FOLDER/$FOLDERNAME-$FILENAME
тогда мой вывод правильный
/home/May-04-Wed-2011/vmware-HOME_May-04-0717PM-2011.tar.gz
Почему это?
_
является допустимым символом для имени переменной, а $FOLDERNAME_
не существует.
echo "$BACKUP_DESTINATION/$DATE_FOLDER/${FOLDERNAME}_$FILENAME"
Проблема здесь: HOME_$date1.tar.gz
а также здесь: _$FILENAME
.
Если вы используете _$
, то $
будет скрыт.
Тем не менее вы можете сделать это с помощью \\_$
.
Затем вы выходите из _
с помощью \
, а $
будет интерпретироваться так, как вы привыкли к нему.