O que esse comando faz no Mac OS X? [duplicado]

0
export PATH="/Users/your_user/scala/bin:$PATH"

Eu sei que preciso fazer isso para configurar determinados aplicativos, mas não entendo exatamente o que ele faz.

Como os aplicativos funcionam?

    
por Phil 26.02.2012 / 23:16

2 respostas

1

Na maioria das vezes, quando você executa um programa através de uma interface gráfica com o usuário, você clica duas vezes em um ícone que está associado ao arquivo do programa.

No entanto, há casos em que você precisa (ou prefere) executar um programa digitando seu nome em um shell de comando (o Terminal no Mac OS X). Quando você faz isso, o shell procura por um arquivo de programa com esse nome e, se encontrar um, o executa. O PATH é uma variável que diz ao shell onde procurar.

Em sistemas Unix, normalmente todos os arquivos de programas, não importando o pacote de software de onde eles são originários, são colocados em um único diretório, /usr/bin . (Isso não é estritamente verdadeiro, já que também há /usr/local/bin , etc. mas isso não é importante agora.) E o PATH é inicialmente definido como /usr/bin , de modo que quando você deseja executar um programa, não importa o que diretório em que você está, se você digitar fooprogram , o shell procurará imediatamente em /usr/bin e, se for localizado, execute-o. Sem esse recurso, o shell estaria limitado a procurar no diretório atual (o que significa que você sempre teria que estar no diretório do programa para executar qualquer coisa), ou então, todos os diretórios no sistema de arquivos (o que levaria muito tempo) .

É possível adicionar vários diretórios (separados pelo caractere:) à variável PATH para que eles pesquisem todos eles em sequência. Isto é o que seu comando

export PATH="/Users/your_user/scala/bin:$PATH"

faz.

Acabou de instalar um pacote de software, que inclui alguns arquivos de programa, em /Users/your_user/scala . Seguindo a convenção, os arquivos do programa estão no subdiretório bin . Portanto, para permitir que você execute esses programas diretamente do shell de comando, você precisa adicionar /Users/your_user/scala/bin para que o shell também procure lá. O $PATH representa o valor existente de PATH , de modo que, se PATH fosse originalmente /usr/bin , agora será /Users/your_user/scala/bin:/usr/bin . A ordem é importante, portanto, se os dois /Users/your_user/scala/bin e /usr/bin contiverem um arquivo de programa denominado scala_prog , ele executará o primeiro.

export é um comando que torna esse novo valor de PATH disponível sempre que você executa um shell de comando depois disso.

É possível que você, o usuário, não execute os arquivos de programa scala a partir de um shell de comando, mas o próprio pacote scala pode precisar fazer isso a partir de seus próprios scripts de shell. Nesse caso, o shell script tentará executar o programa apenas com o nome do programa e, portanto, precisará ter o PATH configurado corretamente, assim como você faria se estivesse digitando-o no prompt do shell de comando.

    
por 27.02.2012 / 02:50
1

Este é um comando do Unix para definir a ordem de busca pela execução do comando. Se você digitar o nome de um comando em / Users / your_user / scala / bin, ele será executado. Se você não tiver isso, precisará fornecer o nome completo do caminho do comando para executá-lo.

    
por 26.02.2012 / 23:20