Я використовую sourceкоманду в моєму скрипті bash для того, щоб прочитати / надрукувати значення змінних
more linuxmachines_mount_point.txt
export linuxmachine01="sdb sdc sdf sdd sde sdg"
export linuxmachine02="sde sdd sdb sdf sdc"
export linuxmachine03="sdb sdd sdc sde sdf"
export linuxmachine06="sdb sde sdf sdd"
source linuxmachines_mount_point.txt
echo $linuxmachine01
sdb sdc sdf sdd sde sdg
У чому полягає протилежність sourceдля скасування змінних?
Очікувані результати
echo $linuxmachine01
< no output >
export. Все exportце - скопіювати значення в середовище, але вони є перемінними оболонками, незалежно від того, вони також визначені як змінні середовища. Крім того, визначення непотрібних змінних середовищ скорочує вашу максимальну довжину командного рядка, оскільки вони зберігаються в одному і тому ж (обмеженому!) Просторі в процесі.
sourceвстановлення змінних у вашому оточенні, аexportвисловлювання у файлі, який виsource. Отже , якщо у вас інший файл, який має однакові змінні,sourceможе бути навпаки .sourcesourceunset