Estações de trabalho on-line OnWorks Linux e Windows

Logotipo

Hospedagem online grátis para estações de trabalho

<Anterior | Conteúdo | Próxima>

Localização do arquivo de script

Com as permissões definidas, podemos agora executar nosso script:



[me @ linuxbox ~] $ ./Olá Mundo

Olá Mundo!

[me @ linuxbox ~] $ ./Olá Mundo

Olá Mundo!


Para que o script seja executado, devemos preceder o nome do script com um caminho explícito. Se não o fizermos, obteremos isto:



[me @ linuxbox ~] $ Olá Mundo

bash: hello_world: comando não encontrado

[me @ linuxbox ~] $ Olá Mundo

bash: hello_world: comando não encontrado


Por que é isso? O que torna nosso script diferente de outros programas? Ao que parece, nada. Nosso script está bom. Sua localização é o problema. De volta ao Capítulo 11, discutimos o PATH variável de ambiente e seu efeito em como o sistema procura por programas executáveis. Para recapitular, o sistema pesquisa uma lista de diretórios cada vez que precisa encontrar um programa executável, se nenhum caminho explícito for especificado. É assim que o sistema sabe executar

/ bin / ls quando digitamos ls na linha de comando. O diretório / bin é um dos diretórios que o sistema pesquisa automaticamente. A lista de diretórios é mantida em uma variável de ambiente chamada PATH. A variável PATH contém uma lista separada por dois pontos de diretórios a serem pesquisados. Podemos ver o conteúdo de PATH:

Localização do arquivo de script


[me @ linuxbox ~] $ echo $ PATH

/ home / me / bin: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin:

/ bin: / usr / games

[me @ linuxbox ~] $ echo $ PATH

/ home / me / bin: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin:

/ bin: / usr / games


Aqui vemos nossa lista de diretórios. Se nosso script estivesse localizado em qualquer um dos diretórios da lista, nosso problema estaria resolvido. Observe o primeiro diretório da lista,

/ home / me / bin. A maioria das distribuições do Linux configura a variável PATH para conter um diretório bin no diretório inicial do usuário, para permitir que os usuários executem seus próprios programas. Portanto, se criarmos o diretório bin e colocarmos nosso script dentro dele, ele deve começar a funcionar como outros programas:



[me @ linuxbox ~] $ bin mkdir [me @ linuxbox ~] $ mv hello_world bin [me @ linuxbox ~] $ Olá Mundo

Olá Mundo!

[me @ linuxbox ~] $ bin mkdir [me @ linuxbox ~] $ mv hello_world bin [me @ linuxbox ~] $ Olá Mundo

Olá Mundo!


E assim é.

Se o PATH variável não contém o diretório, podemos adicioná-lo facilmente incluindo esta linha em nosso .bashrc arquivo:


exportar PATH = ~ / bin: "$ PATH"

exportar PATH = ~ / bin: "$ PATH"


Depois que essa alteração for feita, ela terá efeito em cada nova sessão de terminal. Para aplicar a mudança à sessão de terminal atual, devemos fazer com que o shell leia novamente o .bashrc Arquivo. Isso pode ser feito por “sourcing”:



[me @ linuxbox ~] $ . .bashrc

[me @ linuxbox ~] $ . .bashrc


O ponto (.) comando é um sinônimo para o fonte comando, um shell embutido que lê um arquivo especificado de comandos do shell e o trata como entrada do teclado.


imagem

Nota: Ubuntu (e a maioria das outras distribuições baseadas em Debian) adiciona automaticamente o

diretório ~ / bin para a variável PATH se o diretório ~ / bin existir quando o arquivo .bashrc do usuário for executado. Portanto, em sistemas Ubuntu, se criarmos o diretório ~ / bin e, em seguida, efetuar logout e login novamente, tudo funcionará.


imagem


 

Top OS Cloud Computing na OnWorks: