Монтирование скрывает или затеняет все, что уже присутствует в данном каталоге (это может вызвать забавные проблемы, если права в затененном таким образом каталоге неверны). Таким образом, когда монтирование tmpfs будет удалено, исходный материал останется. (Если необходимо сохранить кеш, вы можете mv / var / cache /var/cache.save, а затем выполнить rsync после первого монтирования tmpfs и до его размонтирования, но это еще больше усложняет ситуацию.)
{ {1}}Я хочу поблагодарить всех за комментарии, в которых упоминается подоболочка. Однако я хочу дать более развернутый ответ.
Каждый раз, когда f1
вызывается из f2
, будет создаваться новая подоболочка, и будут выполняться только 3 инструкции.
f1() {
1 if [ "$a" == "" ]; then
2 a="0";
else
a=$(($a+1));
fi;
3 echo "$a";
}
a
становится глобальным и инициализируется в подоболочке (по крайней мере в моей системе, потому что повторяющиеся f1
вызывают incrementa
). Но a
не существует в следующей созданной подоболочке.