O comando funciona com o til no final. Como?

1

Estou no Ubuntu. Eu tenho um script chamado myscripts in /usr/bin/myscripts

Este script simplesmente altera o diretório atual para

~/Work/MyScripts

Normalmente, simplesmente abro um terminal e digito

~/Desktop$ . myscripts

No entanto, hoje, eu digitei acidentalmente

~/Desktop$ . StartAllScript~

Para minha surpresa, isso iniciou o Tomcat (~ Work / Myscripts / tem um script para iniciar o Tomcat). Eu também tentei

~/Desktop$ . StartAllScript

Mas isso me deu o erro

bash: StartAllScript: No such file or directory

Então, como . StartAllScript~ funcionou?

    
por Wes 11.03.2014 / 15:10

1 resposta

1

Para tornar as coisas claras, . <filename> simplesmente diz ao shell para executar todos os comandos dentro do Arquivo. O . é apenas um equivalente do Bourne shell o comando bash embutido source (também é o que o shell faz para ler .profile e / ou .bashrc )

vim e outros editores gostam de fazer arquivos de backup (eles os colocam por padrão no diretório do usuário, às vezes também no diretório atual / de trabalho (depende das configurações do editor) e na maioria das vezes chamam por padrão <filename>~ Então, executando . StartAllScript~ , você disse ao shell para criar o arquivo com o nome StartAllScript~ , que é o backup do StartAllScript editado anteriormente.

Espero que esteja claro agora.

    
por 11.03.2014 / 15:38