XDIR=/tmp/X_$RANDOM ; RCMD="export V1=$XDIR ; mkdir -p \$V1; trap \"[ -d \$V1 ] && rm -rf \$V1\" EXIT " ; ssh -t user@rhost "$RCMD ; \${SHELL}"
< < este onliner feio vai fazer isso
Aqui ele é dividido em partes e explicado:
1. XDIR=/tmp/X_$RANDOM ;
2. RCMD="
2a. export V1=$XDIR ;
2b. mkdir -p \$V1;
2c. trap \"[ -d \$V1 ] && rm -rf \$V1\" EXIT " ;
3. ssh -t user@rhost "$RCMD ; \${SHELL}"
- Uma variável de ambiente local para conter o caminho da pasta X a ser criado no host remoto. Aleatorizado para evitar colisão com outras sessões, você também pode usar $ USER ou timestamp ou o que for além ou em vez de RANDOM, por exemplo, / tmp / someprefix _ $ {USER} _ $ {RANDOM}
- Uma variável de ambiente local para conter instruções a serem executadas no host remoto. 2a. Env remoto. variável V1 var para passar o valor XDIR local para o ambiente do host remoto. 2b. Criação da pasta remota X 2c. argumento trap é uma instrução a ser feita em sinais EXIT, que inclui HUP. Significa que a pasta X será removida na saída normal ou na quebra de sessão.
- Conecte-se ao servidor usando as instruções preparadas primeiro e, em seguida, inicie o SHELL remoto. Você pode especificar explicitamente, por exemplo / bin / bash.