Обновлено с учетом комментариев и обсуждений в чате.
PHP-код запускает сценарий оболочки как sh./curl.sh $title
, где $title
— переменная PHP (в идеале он должен правильно заключать данные $title
в кавычки, чтобы не путать оболочку ). Поэтому сценарий оболочки должен выбирать заголовок из параметров командной строки $*
, а не из переменной оболочки $title
.
Отправляемый документ JSON заключен в одинарные кавычки, что означает, что расширение переменной $title
не будет видно оболочке.
Вам нужно временно выйти из строки в одинарных кавычках, чтобы расширить переменную:
-d '{ "template_id": "template...{ "text": "'"$*"'" }...
Внешние двойные кавычки в "'"$*"'"
принадлежат документу JSON, содержимое в одинарных кавычках принадлежит оболочке. Внутренние двойные кавычки заключают в кавычки значение $*
(, если оно содержит пробелы и/или шаблоны подстановки имен файлов ).
В коде PHP была дополнительная проблема, из-за которой переменная PHP $title
никогда не устанавливалась должным образом. Когда это было исправлено, все заработало, как и ожидалось.
Мне удалось решить проблему: в имени тома был пробел посередине. Я изменил имя на одно слово. Размонтировал том. Затем удалил каталог New Volume
из каталога /mnt/
. В файле fstab
изменено соответственно. На этот раз вместо LABEL
я использовал UUID
, который я получил с помощью sudo blkid
. в конце fstab
файлов последняя строка выглядела так
UUID=<UUID-of-the-partition> /mnt/Old auto nosuid,nodev,nofail,x-gvfs-show 0 0
sudo findmnt --verify
не показал никаких ошибок. и мог загрузить и обновить pop_os!
до 20.03
.