1 votos

Cambiar el shell de que las funciones de uso

En mi actual configuración del terminal, puedo hacer uso de zsh; es mi shell por defecto. También tengo un up-to-fecha de la versión de Bash, por otras razones, instalado desde Homebrew.

Sin embargo, también existe el Bash proporcionado por Apple, que está en la versión 3.2.57.

He mis propias funciones de instalación y de uno en particular requiere de una función a partir de Bash 4.0. A pesar de que mi shell por defecto es zsh y yo alias sh(Apple bash) comando bash(el bash de Homebrew) de comandos, la función que hemos definido todavía se utiliza de forma predeterminada sh y, por lo tanto, mi función no/no puede funcionar. También he cambiado el shebang a la cabeza de archivo que define mi función personalizada pero no ayuda.

¿Cómo puedo hacer que la función que hemos definido el valor predeterminado mediante el bash instalado desde el Homebrew?

4voto

Puede activar la función en un script de shell y definir el shell para ser utilizado en la primera línea

#!/usr/local/bin/bash

# the content of your function goes here

A continuación, hacer que el shell script ejecutable y ponerlo en algún lugar en su PATH.

1voto

Peter Puntos 1726

El otro enfoque, pero sería un error si /usr/local/bin/bash no existe.

Si desea asegurarse de la compatibilidad futura, yo te recomiendo especificar el shebang la utilización de la línea /usr/bin/env, lo que garantiza que su entorno utiliza la ruta de acceso a la primera versión del binario (bash).

#!/usr/bin/env bash

# the content of your script

Si ha configurado su entorno para buscar /user/local/bin en primer lugar, este funcionará como se espera.

Usted puede comprobar dónde bash existe en su camino con:

$ which -a bash

Que emite el siguiente en mi sistema:

/usr/local/bin/bash
/bin/bash

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