Почему мой tar в сценарии ведущий себя отличающийся, чем использование tar вручную

Я записал программу только что, которая делает это: tzupdate.

Вы видите то, что это установило бы Ваш часовой пояс на (на самом деле не устанавливая его) путем выполнения tzupdate -p:

$ tzupdate -p
Europe/Malta

Можно установить его для реального путем выполнения tzupdate как корень.

$ sudo tzupdate
Europe/Malta
$ date
Thu 12 Sep 05:52:22 CEST 2013

Это работает:

  • Определение геолокации текущего IP
  • Получение часового пояса для того местоположения
  • Обновление символьной ссылки в /etc/localtime указать на zoneinfo файл для того часового пояса

4
15.06.2014, 01:10
1 ответ
[

]Попробуйте удалить одиночные кавычки из строки создания COMMAND3:[

] [
COMMAND3="tar -cvzf "$PIMPURL"shisha_"$HOUR"_"$MINUTE"_.data.tar.gz "$MAILURL
] [

]Когда вы выполняете эту строку вручную, оболочка удаляет кавычки до того, как tar когда-либо увидит аргументы.[

] [

]Вы не вставляете пробелы в имя файла, поэтому кавычки не нужны. На самом деле, вы можете упростить эту строку еще немного:[

] [
COMMAND3="tar -cvzf ${PIMPURL}shisha_${HOUR}_${MINUTE}_.data.tar.gz ${MAILURL}"
] [

]Кудрявые фигурные скобки предназначены для разделения имен переменных, иначе она попытается расширить "PIMPURLshisha", вероятно, не то, что вы хотите. Никогда не повредит использовать их, так как это делает переменные тоже выделяться, легче выбирать.[

]
3
27.01.2020, 20:58

Теги

Похожие вопросы