Eu tenho alguns pensamentos sobre isso. Primeiro, observe que você pode controlar o screenrc de inicialização ao chamar a tela por meio do switch de linha de comando -c
. Segundo, você pode usar variáveis de ambiente em seu .screenrc. Juntando tudo isso, aqui está um script de shell para fazer algo parecido com o que você quer:
#!/bin/bash
cat << EOF >/tmp/screenrc.$$
logfile /tmp/screenlog.$$
EOF
screen -c /tmp/screenrc.$$ -L
rm /tmp/screenrc.$$
echo "logfile is /tmp/screenlog.$$"
esse script substitui o usuário screenrc e coloca a saída em um arquivo específico. Nesse caso, estou usando $$
para gerar o nome do arquivo anexando o nome do processo de script. Observe que você geralmente deve usar mktemp
para criar arquivos temporários seguros, mas eu sou preguiçoso agora.
Além disso, isso substitui completamente o usuário .screenrc
. Se você ainda quiser ler as configurações desse arquivo, você deve alterar o arquivo de configuração gerado para algo como isto:
logfile /tmp/screenlog.$$
source $HOME/.screenrc