Может ли overlayFS поддерживать более двух уровней?

sh -c 'echo $ a' похож на открытие новой оболочки и ввод ] echo $ a в нем. Поскольку в дочерней оболочке нет переменной a (вы не экспортировали ту, которую вы установили в родительской оболочке ), он напечатает пустую строку.

С помощью

b="two"
sh -c "echo $b"

строка «echo $ b» расширяется текущей оболочкой, и расширенное значение передается в качестве строки аргумента в дочернюю оболочку . Это как если бы вы открыли новую оболочку и набрали echo two .

var = val команда временно устанавливает и экспорт s var = val только для вызова команды .

c="three" sh -c 'echo $c'

почти (подоболочки на самом деле там нет) как

( export c="three"; sh -c 'echo $c' )

Переменная c в родительской оболочке не затрагивается.

1
20.03.2019, 15:06
2 ответа

краткий ответ :да

длинный ответ :из разделов «Верхний и нижний» и «Несколько нижних слоев»:

"...The lower filesystem can be any filesystem supported by Linux and does not need to be writable. The lower filesystem even be another overlayfs...."

6
27.01.2020, 23:14

Из документации:

Multiple lower layers can now be given using the the colon (":") as a
separator character between the directory names.  For example:

  mount -t overlay overlay -olowerdir=/lower1:/lower2:/lower3 /merged

https://www.kernel.org/doc/Documentation/filesystems/overlayfs.txt

0
23.01.2021, 19:15

Теги

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