Eu descobri isso algumas vezes agora. A primeira vez foi há alguns anos e foi algo que usei durante muito tempo. Então eu tive que descobrir de novo esta manhã. É por isso que estou postando aqui. Assim, pode encontrá-lo mais facilmente na próxima vez que precisar, se não me lembrar melhor.
O problema é que -X não aceita e analisa um único argumento como o comando inteiro. Isso requer que você passe cada um dos elementos do comando como um argumento separado para a linha de comando screen
.
Então, isso funciona:
screen -X bindkey -t '#@p' stuff "mysecretpasswordhere"
... e é assim que eu uso de um script de shell:
#!/bin/bash
read -sp "GNU Screen PW Setting:" pw
echo
screen -X 'bindkey' '-t' '#@p' 'stuff' "$pw"
Então, quando eu inicio uma nova sessão do GNU screen
(uma vez a cada poucos meses, tipicamente) então eu simplesmente executo ~/bin/setpw
para armazenar minha senha na memória sem nunca escrevê-la em nenhum arquivo em lugar algum.
(Sim, a seqüência de teclas real para a qual estou vinculando foi sanitizada para esta postagem. Duh! Além disso, sim, sou muito consistente em usar o bloqueio de tela em meus sistemas e a senha é longa, strong e inconveniente estar digitando em sudo
prompts o dia todo).