Script bash de origem ao iniciar o comando midnight

0

Existe uma maneira de obter algum script bash quando executo o comando mc ? Eu quero tê-lo originado na instância bash do comandante da meia-noite. Eu tentei algo assim

mc && . .bash_script.sh 

e isso não funciona. Parece que o Bash originou o script na instância anterior do Bash porque depois de executar o comando exit , vejo que .bash_script.sh foi originado. Mas na linha de comando do comandante do midning não está disponível.

    
por D3ryk 01.09.2016 / 09:53

2 respostas

1

man mc , procure por " bashrc " palavra-chave:

If you are using bash you can specify startup commands for the subshell in your ~/.local/share/mc/bashrc file and special keyboard maps in the ~/.local/share/mc/inputrc file. tcsh users may specify startup commands in the ~/.local/share/mc/tcshrc file.

Então, assuma que ~/.bash_script.sh é o caminho do seu arquivo .bash_script.sh , add ~/.local/share/mc/bashrc com este conteúdo:

[xiaobai@localhost tmp]$ cat ~/.local/share/mc/bashrc
. ~/.bash_script.sh
[xiaobai@localhost tmp]$ 

Após o problema mc (ou mc -U ), o prompt de comando inferior mudará para a hora atual.

Em seguida, pressione Ctrl - o para entrar dentro da subshell, a cor cinza + git info entrará em vigor somente depois que você emitir o primeiro comando aqui (bug). Pressione Ctrl - o novamente para voltar à tela principal mc .

    
por 01.09.2016 / 21:12
0

mc runs ~/.bashrc . Assim, podemos executar seu .bash_script.sh de ~/.bashrc . Parece que você deseja apenas criar o script se estiver dentro de mc . Nesse caso, teste para uma variável de shell que mc define, por exemplo: MC_SID .

Então, no seu ~/.bashrc adicione a linha:

[ "$MC_SID" ] && . .bash_script.sh 

Teste

Para verificar se esse método funciona, comece com algo simples. Coloque a seguinte linha em ~/.bashrc :

[ "$MC_SID" ] && date >>~/mc.log

Em seguida, inicie uma instância de mc . Em seguida, execute ls ~/mc.log para ver se esse arquivo existe.

    
por 01.09.2016 / 10:26