Ao usar ssh com um comando, ele pode não criar um shell de login, mesmo que seu script use #!/bin/bash -l
.
Teste ssh user@server-A bash -l
e execute seu script. Você também pode criar algo como
#!/bin/bash
export
Em seguida, execute-o após efetuar login manualmente ( ssh user@server-A
) e ao usar ssh com um comando ( ssh user@server-A name-of-that-script.sh
).
Por exemplo, no Mac OS X, usar ssh martin@nathan bash -l
não define PS1
, enquanto que% normal ssh martin@nathan
shell interativo.
Outra diferença importante é que um pseudo-terminal é alocado apenas quando executado de forma interativa (login sem um comando).