Exportando apenas um único arquivo

3

Para tornar os scripts acessíveis de qualquer lugar no terminal, pode-se usar a seguinte sequência de comandos:

PATH=$PATH:some_path_here
export PATH

Que inclui todos os arquivos no caminho enviado juntamente com todas as suas subpastas. O que significa que a partir de então, apenas digitando o nome de um script armazenado dentro desta estrutura de pastas, será executado.

Como faço para exportar apenas um único arquivo dessa maneira em vez de uma pasta inteira ao lado de todos os seus subdiretórios?

    
por Hermann Ingjaldsson 21.06.2012 / 10:16

3 respostas

7

Parece que alias é o que você precisa. Você pode especificar qualquer palavra para alias e definir o que será executado quando você executar sua palavra.

alias newcommand='/path/to/your/command'

Você pode colocá-lo em você ~ / .shellrc (onde shell é seu shell, portanto, para bash , será ~/.bashrc ) e estará disponível após o início.

Para mais informações, veja aqui .

    
por 21.06.2012 / 10:24
4

Crie um symbolic link no seu arquivo e coloque-o em um diretório PATH 'd adequado, por exemplo, $HOME/bin ou o que for.

ln -s "/path/to/my-file"  "$HOME/bin/my-file" 
    
por 21.06.2012 / 11:59
3

Para explicar o segundo plano da resposta de Rush, export não não faz nada com os executáveis em $PATH . export PATH simplesmente significa "Eu quero que a variável PATH seja herdada por todos os processos filhos." E o que acontece quando você digita myprogram em um prompt e pressiona Enter é uma série de pesquisas dentro o shell .

When a command is specified in BASH without a pathname (e.g. myprogram, or ls), and it isn't an alias, function, builtin or keyword, BASH searches through the directories in PATH, in order from left to right, to see whether they contain an executable of the name you typed.

$PATH , em outras palavras, é uma lista de diretórios , e é por isso que ele não pode ser usado para comandos únicos (exceto implicitamente, colocando o executável em um diretório separado). Você não pode promover um comando para um builtin ou palavra-chave, mas você pode criar uma função ou um alias. Veja o link anterior para uma explicação simples de suas diferenças.

    
por 21.06.2012 / 17:09

Tags