Usando um subshell (recomendado)
Execute o comando de origem em um subshell:
(
source linuxmachines_mount_point.txt
cmd1 $linuxmachine02
other_commands_using_variables
etc
)
echo $linuxmachine01 # Will return nothing
Subshells são definidos por parens: (...) . Quaisquer variáveis shell configuradas dentro da subshell são esquecidas quando a subshell termina.
Usando unset
Isso anula qualquer variável exportada por linuxmachines_mount_point.txt :
unset $(awk -F'[ =]+' '/^export/{print $2}' linuxmachines_mount_point.txt)
-
-F'[ =]+'diz ao awk para usar qualquer combinação de espaços e sinais de igual como o separador de campos. -
/^export/{print $2}Isto diz ao awk para selecionar linhas que começam com
exporte depois imprimem o segundo campo. -
unset $(...)Isso executa o comando dentro de
$(...), captura seu stdout e desconfigura quaisquer variáveis nomeadas por sua saída.