Можно ли экспортировать все переменные, полученные из файла?

В первую очередь важно, какие разрешения установлены в tar-архиве(tar -tzvf mytar.tar.gz). Но я предполагаю, что они правильные (такие же, как живые ).

Также кажется, что вы распаковываете архив как обычный пользователь. Дегтярный человек говорит:

   --no-same-permissions
          Apply the user's umask when extracting permissions from the archive (default for ordinary users).

Есть возможность сохранить разрешения:

   -p, --preserve-permissions, --same-permissions
          extract information about file permissions (default for superuser)

Обратите внимание, что как обычный пользователь вы не сможете установить разрешение, кроме как у вас есть доступ к (, например. вы не сможете установить право собственности на файлы как root)

Так что я бы сказал -использовать для этого root.

Также подумайте, действительно ли вам нужны файлы, принадлежащие пользователю root, в каталоге вашего сайта.особенно если они должны быть доступны для записи apache. ИМХО владелец апача был бы лучше.

5
15.10.2020, 01:57
1 ответ

if I want to use it in a second shell script I would have to export them instead, so the file would have to look like this:

Вы можете использовать источник второго файла или указать его источник variables.sh. Есть несколько способов сделать то, что вы хотели, например, выполнить оценку результата обработки файла, но самым чистым способом было бы использовать set -aоболочки bash:

          -a      Automatically  mark  variables  and  functions which are
                  modified or created for export  to  the  environment  of
                  subsequent commands.

Таким образом, вы можете достичь своей цели с помощью:

set -a
source variables.sh

Как заметил l0b0 , вы, возможно, захотите set +aпосле этого, чтобы не продолжать автоэкспорт переменных в последующем шелл-коде.

10
18.03.2021, 22:57

Теги

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