como definir globstar para shells não interativos

4

Gostaria de executar comandos de forma não interativa em um servidor remoto que use a ** opção globstar. No entanto, o globstar não é definido por padrão no controle remoto e o bash não fornece arquivos em modo não interativo , por isso não posso adicionar esta opção a ~/.profile .

Suponha que no servidor remoto

$ shopt -s globstar
$ mkdir -p a/b/c
$ ls a/**
a/:
b

a/b:
c

mas remotamente,

$ ssh user@remote "ls a**"
a/:
b

Como posso ativar o globstar, idealmente alterando a configuração no computador remoto?

    
por petrelharp 09.07.2016 / 21:29

1 resposta

7

Se o usuário remoto estiver usando bash , então $HOME/.bashrc deve ser carregado, mesmo em shells não interativos. Você pode colocar suas opções lá.

por exemplo,

$ head -1 .bashrc 
echo BASHRC loaded

$ ssh localhost echo hello
sweh@localhost's password: 
BASHRC loaded
hello

$ 
    
por 09.07.2016 / 21:38