Um subshell bash herdará as variáveis do shell pai (mas não as modificará!).
Uma maneira simples é definir uma série de comandos com variáveis que você define e modificá-los no shell pai.
MyTempVar="FirstPath"
(cd "$MyTempVar" && pwd && many && other && commands) && unset MyTempVar
MyTempVar="NewPath"
!-2
- Com
!-2
, se as opções de histórico estiverem ativadas, você executará o segundo último comando do seu histórico. É uma expansão da história do built-in do bash. - Mais seguro é ativar a
histverify
comshopt -s histverify
para ter uma confirmação visual antes que o comando do histórico seja processado. - Novamente, é seguro Acima + Acima + Enter .
- Com
unset MyTempVar
, você pode, opcionalmente, remover a variávelMyTempVar
, se desejar.
Você pode até criar uma função ou um script e passar as variáveis para eles. Por exemplo,
TTT(){ (A="$1"; cd "$A" && pwd ;) }
ligue para
TTT MyPath