Parece que você modificou o PATH padrão que é herdado pelos aplicativos GUI (incluindo a maioria dos corredores AppleScript). Se você quer apenas uma solução rápida, você deve ser capaz de fazer o que o Hasaan Chop indicar: basta alterar sed
para /usr/bin/sed
no código AppleScript, salvá-lo e executar novamente o instalador (embora você possa ter problemas semelhantes com outros comandos).
Se você quiser corrigir o problema que causou a falta de /usr/bin
do PATH padrão, será necessário pesquisar um pouco para descobrir onde o problema começou.
Note que (como você descobriu indiretamente) o “PATH padrão” que um aplicativo vê é diferente do PATH que um shell de “login” iniciado pelo Terminal irá configurar para si mesmo.
Shells na família Bourne ( bash , zsh , ksh , etc.) no modo “login” executará /etc/profile
, que (normalmente) redefine completamente o PATH para um novo valor (também os arquivos de inicialização do shell por usuário geralmente adicionam vários outros diretórios ao PATH). O ponto principal aqui é que arquivos de inicialização de shell não têm nada a ver com o PATH que os aplicativos veem (há exceções (por exemplo Aquamacs ), mas eles são raros).
-
Um local comum para variáveis de ambiente padrão personalizadas é
~/.MacOSX/environment.plist
.Este arquivo é lido no momento do login e é usado para adicionar novas variáveis de ambiente (ou substituir existentes) para aplicativos iniciados na sessão de login atual.
Para visualizar e / ou editar este arquivo, você pode usar uma ferramenta especializada como o RCEnvironment (recomendado). < br> Ou, como esse arquivo é um arquivo plist , você pode usar Editor de lista de propriedades (das ferramentas de desenvolvimento), ou ferramentas de linha de comando como padrões ou PlistBuddy . Se o arquivo estiver no formato XML (provavelmente), você poderá usar um editor de texto simples.
-
Outro local possível para variáveis de ambiente padrão personalizadas é o conjunto de arquivos de configuração launchd .
Esses arquivos podem conter qualquer launchctl subcomandos, incluindo os subcomandos
setenv
eunsetenv
que podem alterar o ambiente herdado pelos processos filhos.A personalização por usuário pode ser feita em
~/.launchd.conf
. A personalização em todo o sistema é feita em/etc/launchd.conf
.
Se você achar que um desses arquivos está manipulando a variável de ambiente PATH, você deve se livrar da manipulação PATH (para permitir que o valor padrão passe para os aplicativos) ou adicionar os diretórios padrão de baixo nível (por exemplo, /usr/bin:/bin:/usr/sbin:/sbin
) para quaisquer diretórios personalizados que você precise ter no PATH.
Se você fizer alterações em um arquivo por usuário ( ~/.MacOSX/environment.plist
ou ~/.launchd.conf
), a maneira mais fácil de efetivar as alterações é efetuar logout (logout completo, não apenas uma troca rápida de usuário) e login . Se você tivesse que modificar um arquivo de todo o sistema, a melhor coisa a fazer seria reinicializar. Tecnicamente, é possível começar a usar os novos valores sem reinicializar ou fazer logout, isso é deixado como um "exercício para o leitor".
O seguinte é um aparte sobre as implicações dessa única linha de código AppleScript, não é relevante para o problema PATH.
Essa linha de código tem outro erro potencial também (falha em citar corretamente o valor da string currdir
no código shell). A própria linha é suposto para adicionar barras invertidas antes de cada caractere de espaço em uma seqüência de caracteres. A razão mais provável para fazer isso é para que a string resultante possa ser inserida diretamente em outro código de shell de bits. O problema é que existem muitos outros caracteres que precisam ser escapados da mesma maneira, se o código shell funcionar corretamente com qualquer string. Ambos os problemas (na verdade, são o mesmo problema) podem ser facilmente resolvidos usando o comando quoted form of
do AppleScript. O fato de o script não estar usando quoted form of
é um sinal de inexperiência que me deixa nervoso com o que mais o script pode estar fazendo incorretamente.