1 votos

Custom shell script no puede ser encontrado

Estoy corriendo MacOSX Sierra y tiene homebrew instalado. Así que estoy tratando de crear compress-slide.sh secuencia de comandos en ~/bin. Con el fin de librarme de hacer enlaces simbólicos he añadido la ~/bin en mi camino así que mi camino se ve como esta ahora: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:~/bin

Me he puesto la ruta de acceso en /etc/paths y aquí es lo que parece:

/usr/local/bin
/usr/bin
/bin
/usr/local/sbin
/usr/sbin
/sbin
~/bin

Pero cuando trato which compress-slide.sh no se encuentra nada, no me da la ruta estoy esperando a que es ~/bin/compress-slide.sh sólo quiero utilizar esta secuencia de comandos cuando estoy en directorios diferentes. También me aseguré de que yo soy el dueño de la secuencia de comandos y que se ha ejecutable permiso.

-rwxr-xr-x  1 dummyuser  dummyuser   135B Dec 28 18:13 compress-slide.sh

He aquí el contenido de mi script, solo un simple comando para probar que funciona;

#!/usr/bin/env bash

echo 'test'

Aquí está mi homebrew config:

HOMEBREW_VERSION: 1.1.5
ORIGIN: https://github.com/Homebrew/brew
HEAD: 9cd5a21b473f0271b162bbe7f77f7d1468c0cfa1
Last commit: 2 weeks ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 797542c1bf61c4cfc58c7a52a2534d154cc584d1
Core tap last commit: 8 days ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local/Homebrew
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: octa-core 64-bit ivybridge
Homebrew Ruby: 2.0.0-p648
Clang: 8.0 build 800
Git: 2.10.1 => /Applications/Xcode.app/Contents/Developer/usr/bin/git
Perl: /usr/bin/perl
Python: /usr/bin/python
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
Java: 1.8.0_60, 1.7.0_79
macOS: 10.12.2-x86_64
Xcode: 8.2.1
CLT: N/A
X11: N/A

Es esto debido a Homebrew conflicto con mi instalación? Alguien ha encontrado esto así?

2voto

Oskar Puntos 1242

Me gustaría sym enlace de los scripts que lugar de la ruta /usr/local/bin, así que no necesita de la razón con ~ de expansión .punto archivos para el shell.

Es posible tener una manera durable para asegurarse de que su entorno está configurado para manejar ~ - pero yo soy fan de tener rutas absolutas no para evitar problemas al su a otros usuarios y que han ambiente de la contaminación cruzada, así como cuestiones como las que se enfrentan.

Esto no es nada acerca de la homebrew - puramente acerca de la bash o lo que sea shell que se utilice.

2voto

Michael Zhou Puntos 167

Tu problema no tiene nada que ver con la pereza. El path_helper aplicación evita la tilde y la expansión de la variable. Aquí está una modificación de la /private/etc/paths archivo.

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
~/bin
$HOME/local/bin

El path_helperaplicación construye una cadena para ser evaluados en /private/etc/profile utilizando la RUTA de acceso actual de la variable junto con los directorios listados /private/etc/paths y archivos dentro de /private/etc/paths.d.

/usr/libexec/path_helper -s
PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:~/bin:\$HOME/local/bin"; export PATH;

Las comillas dobles alrededor de la RUTA de la variable de prevenir la expansión de tilde y la barra invertida antes de que el signo de dólar prevenir la expansión de la variable de $HOME.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X