С bash 4.4.19 у меня сработало следующее. Вот полный пример
$export MAGENTO_DB_HOST="anyvalue"
#!/bin/bash
if [ -z "$MAGENTO_DB_HOST" ]; then
echo "Magento variable not set"
else
echo $MAGENTO_DB_HOST
fi
Во-первых, вы используете NFS версии 3 или 4? Если версия 3, будут ли и сервер, и клиенты поддерживать расширение NFSACL?
Если вы используете NFSv3 + NFSACL или NFSv4, а реальная файловая система на сервере NFS поддерживает списки управления доступом, на сервере NFS должна быть возможность сделать что-то подобное (настроить разрешения в соответствии с вашими потребностями):
setfacl -m d:u::rwx,d:g::rwx,d:o::rwx /nfs_anon
Если в общей папке уже есть подкаталоги -, вы, вероятно, захотите применить ACL по умолчанию к верхнему каталогу общего ресурса и всем существующим подкаталогам -:
find /nfs_anon -type d -exec setfacl -m d:u::rwx,d:g::rwx,d:o::rwx {} \+
После применения стандартного ACL-списка по маске к верхнему каталогу общего ресурса все новые вложенные -каталоги, созданные в этом каталоге, должны автоматически получить такой же по умолчанию ACL-список.
Во-вторых, обратите внимание, что даже с ACL это просто применяет новую маску по умолчанию. Результирующие разрешения по-прежнему будут основываться на том, что программа, создающая файл, запрашивает (, обычно разрешения 0666 для обычных файлов и 0777 для исполняемых файлов/каталогов ).
Насколько я понял, даже ACL не сможет установить биты разрешения x
, если программа их не запрашивала изначально -он может только вычесть (маску )бит из исходного запроса программы.