<Anterior | Conteúdo | Próxima>
O que há em um arquivo de inicialização?
Se dermos uma olhada dentro de um típico .bash_profile (retirado de um sistema CentOS 6), é mais ou menos assim:
#.bash_profile
# Obtenha os apelidos e funções if [-f ~ / .bashrc]; então
. ~ / .bashrc
fi
# Ambiente específico do usuário e programas de inicialização PATH = $ PATH: $ HOME / bin
exportar PATH
#.bash_profile
# Obtenha os apelidos e funções if [-f ~ / .bashrc]; então
. ~ / .bashrc
fi
# Ambiente específico do usuário e programas de inicialização PATH = $ PATH: $ HOME / bin
exportar PATH
As linhas que começam com “#” são comentários e não são lidos pelo shell. Eles existem para facilitar a leitura humana. A primeira coisa interessante ocorre na quarta linha, com o seguinte código:
if [-f ~ / .bashrc]; então
if [-f ~ / .bashrc]; então
Como o ambiente é estabelecido?
. ~ / .bashrc
fi
. ~ / .bashrc
fi
Isso é chamado de se o comando composto, que abordaremos totalmente quando chegarmos ao script de shell na Parte 4, mas, por enquanto, aqui está uma tradução:
Se o arquivo "~ / .bashrc" existir, leia o arquivo "~ / .bashrc".
Se o arquivo "~ / .bashrc" existir, leia o arquivo "~ / .bashrc".
Podemos ver que este pedaço de código é como um shell de login obtém o conteúdo de .bashrc. A próxima coisa em nosso arquivo de inicialização tem a ver com o PATH variável.
Você já se perguntou como o shell sabe onde encontrar os comandos quando os inserimos na linha de comando? Por exemplo, quando entramos ls, o shell não pesquisa todo o computador para encontrar / bin / ls (o caminho completo do ls comando), em vez disso, ele pesquisa uma lista de diretórios que estão contidos no PATH variável.
O PATH variável é frequentemente (mas nem sempre, dependendo da distribuição) definida pelo
Arquivo de inicialização / etc / profile e com este código:
PATH = $ PATH: $ HOME / bin
PATH = $ PATH: $ HOME / bin
PATH é modificado para adicionar o diretório $ HOME / bin ao final da lista. Este é um exemplo de expansão de parâmetro, que abordamos no Capítulo 7. Para demonstrar como isso funciona, tente o seguinte:
[me @ linuxbox ~] $ foo = "Este é algum"
[me @ linuxbox ~] $ echo $ foo
Este é algum
[me @ linuxbox ~] $ foo = $ foo "texto."
[me @ linuxbox ~] $ echo $ foo
Este é algum texto.
[me @ linuxbox ~] $ foo = "Este é algum"
[me @ linuxbox ~] $ echo $ foo
Este é algum
[me @ linuxbox ~] $ foo = $ foo "texto."
[me @ linuxbox ~] $ echo $ foo
Este é algum texto.
Usando essa técnica, podemos anexar texto ao final do conteúdo de uma variável.
Adicionando a corda $ HOME / bin até o final do PATH conteúdo da variável, o diretório $ HOME / bin é adicionado à lista de diretórios pesquisados quando um comando é inserido. Isso significa que quando queremos criar um diretório dentro de nosso diretório pessoal para armazenar nossos próprios programas privados, o shell está pronto para nos acomodar. Tudo o que temos que fazer é ligar
it caixa, e estamos prontos para começar.
Observação: Muitas distribuições fornecem este PATH configuração por padrão. Distribuições baseadas em Debian, como Ubuntu, testam a existência de ~ / bin diretório no login e adicione-o dinamicamente ao PATH variável se o diretório for encontrado.
Por último, temos:
exportar PATH
exportar PATH
O exportar comando diz ao shell para fazer o conteúdo de PATH disponível para processos filho deste shell.