2 votos

Cómo diferenciar entre un Terminal de secuencias de comandos de lanzamiento y el manual de lanzamiento .bash_profile configuración

Tengo algunas .bash_profile valores que restaurar mi último directorio de trabajo cada vez puedo entrar en mi concha. Sin embargo, también el uso de un programa que abre una ventana de terminal en el directorio actual abierto en el Finder, y esto se hace mediante el envío de un evento Terminal usando SBApplication.

¿Hay alguna manera de detectar la manera en la que la Terminal fue inaugurada en mi .bash_profile? Ahora la configuración de bash reemplazar el cd de la aplicación.

# Setting PATH for Python 3.4
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin"
export PATH

# My settings
trap 'printf %s "$PWD" > ~/.storepwd' EXIT

cd "$(<~/.storepwd)"

0voto

jherran Puntos 6511

Puede mostrar las variables BASH en su .bash_profile. A continuación, comparar el resultado cuando se abra manualmente el terminal con la salida cuando el cd de la aplicación, se abre la terminal.

Me refería a anexar en el comienzo de su .bash_profile el bash de las variables recogidas en la página web:

echo $BASH
echo $BASHOPTS
echo $BASHPID
...
echo $TMPDIR
echo $UID

A continuación, abra manualmente el terminal y guardar la salida. Abrir el terminal desde el cd y guardar la salida.

Comparar los archivos.


El buen variable para el ejemplo anterior es DIRSTACK.

Aquí están los nuevos ajustes para los que pasan a través de:

# My settings
if [ $DIRSTACK = "~" ]; then
    trap 'printf %s "$PWD" > ~/.storepwd' EXIT
    cd "$(<~/.storepwd)"
fi

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