Расширение моего ответа на основе пояснения OP. Опять же, вы можете использовать массив:
$ cat /tmp/foo.sh
#/bin/bash
# Sample values from OP
export MASTER_CLUSTER_1="MASTER1 MASTER2"
export MASTER_CLUSTER_2="MASTER3 MASTER4" # (edited to be unique)
export SLAVE_CLUSTER_1="SLAVE1 SLAVE2 SLAVE3 SLAVE4"
export SLAVE_CLUSTER_2="SLAVE5 SLAVE6 SLAVE7 SLAVE8" # (edited to be unique)
# Create two arrays, one for masters and one for slaves. Each array has
# two elements -- strings containing space delimited hosts
declare -a master_array=( "${MASTER_CLUSTER_1}" "${MASTER_CLUSTER_2}" )
declare -a slave_array=( "${SLAVE_CLUSTER_1}" "${SLAVE_CLUSTER_2}" )
# For this to work, both arrays need to have the same number of elements
if [[ "${#master_array[@]}" == ${#slave_array[@]} ]]; then
for ((i = 0; i < ${#master_array[@]}; ++i)); do
echo "master: ${master_array[$i]}, slave: ${slave_array[$i]}"
done
fi
Пример вывода:
$ bash /tmp/foo.sh
master: MASTER1 MASTER2, slave: SLAVE1 SLAVE2 SLAVE3 SLAVE4
master: MASTER3 MASTER4, slave: SLAVE5 SLAVE6 SLAVE7 SLAVE8
Если вам не удалось восстановить конфигурационный файл EncFS (, который обычно называется .encfs6.xml
), у вас проблемы; он содержит фактический ключ (, хранящийся в <encodedKeyData>
), который разблокируется с помощью парольной фразы (во многом подобно gpg & luks и другим ). Без этого вам остается пытаться использовать грубую силу.
<?xml
... и содержать строку с <creator>EncFS
... Если вы восстановили все файлы и их имена, то расшифровка должна работать нормально, в основном просто encfs <encrypted dir> <mountpoint>
Но часто восстановленные файлы не имеют своих первоначальных имен, поэтому у вас могут возникнуть проблемы с определением того, какие файлы находились в зашифрованной папке. И у вас наверняка возникнут проблемы с их расшифровкой без исходных (зашифрованных )имен.
Если вы восстановили файл конфигурации и включили шифрование имени файла (, это стандартные настройки ), тогда вы сможете изменить файл конфигурации, чтобы не использовать шифрование имени файла.
Элемент для изменения выглядит как <NameAlg>
и выглядит так (в стандартной конфигурации):
<nameAlg>
<name>nameio/block</name>
<major>4</major>
<minor>0</minor>
</nameAlg>
Изменение на это должно отключить шифрование имен файлов, показывая восстановленные («неправильные» )имена файлов, но позволяя вам, по крайней мере, видеть расшифрованное содержимое файлов:
<nameAlg>
<name>nameio/null</name>
<major>1</major>
<minor>0</minor>
</nameAlg>