Farbe der Eingabeaufforderung des Mac-Terminals für bestimmte Verzeichnisse

Farbe der Eingabeaufforderung des Mac-Terminals für bestimmte Verzeichnisse

Ich möchte einrichtenvisuelle WarnungenWannArbeiten in bestimmten Verzeichnisseninnerhalb von Mac OSXTerminal.

Insbesondere habe ich mehrere Projekte im selben Framework laufen, was leicht zu Fehlern führen kann. Ich führe pwdvor anderen Befehlen ein aus, wenn ich länger als ein paar Augenblicke nicht im Terminalfenster war. Scheint ein dummer zusätzlicher Schritt zu sein.

Alle Ressourcen, die ich gefunden habe, befassen sich nur mit der Einrichtung von Farbprofilen in meinem Bash-Profil :(

AKTUALISIERT Hier ist die bisherige Antwort (bellt eine Note, funktioniert aber nicht für Farbe). Lesen Sie unten, warum.

#! /bin/bash -i

# Add this to ~/.bash_profile
# PROMPT_COMMAND=/usr/local/bin/coloraware

PROJECT1='projectfolder/'
PROJECT2='projectfolder2/'
PROJECT3='projectfolder3/'
PWD=`pwd`

case "$PWD/" in
    *$PROJECT1*)
        export PS1='\[\e[1;31m\][\u@\h \W]\$\[\e[0m\] '
        echo "Project #1"
        ;;
    *$PROJECT2*)
        export PS1='\[\e[1;34m\][\u@\h \W]\$\[\e[0m\] '
        echo "Project #2"
        ;;
    *$PROJECT3*)
        export PS1='\[\e[1;35m\][\u@\h \W]\$\[\e[0m\] '
        echo "Project #3"
        ;;
esac

Antwort1

Sie können die Farbe Ihrer Terminalsitzung ändern, wie in@DanielBecks Antwort hier.

Sie könnten den Aufruf in ein Shell-Skript einbinden osascript, das Ihr aktuelles Arbeitsverzeichnis abruft, und dieses Shell-Skript dann irgendwo in Ihrem $PATHoder möglicherweise sogar in Ihrer Eingabeaufforderung einfügen PS1.

Wenn der Basisname des Arbeitsverzeichnisses beispielsweise mein Home-Ordner ist, führen Sie den AppleScript-Befehl zum Ändern der Farben aus (oder nerven Sie mich in diesem Fall einfach mit einem Dialog).

#!/bin/sh
if [ $(basename $PWD) = "werner" ]; then
  osascript -e 'tell app "Finder" to display dialog "foo"'
fi

verwandte Informationen