特定のディレクトリの Mac ターミナル プロンプトの色

特定のディレクトリの Mac ターミナル プロンプトの色

セットアップしたい視覚的な警告いつ特定のディレクトリ内での作業Mac OSX内ターミナル

pwd具体的には、同じフレームワーク内で複数のプロジェクトを実行しているため、簡単にミスが発生する可能性があります。ターミナル ウィンドウからしばらく離れると、他のコマンドの前に を実行することになります。これは、無駄な追加手順のように思えます。

私が見つけたリソースはすべて、bash プロファイルでカラー プロファイルを設定することに関するものでした :(

更新しました これまでの答えは次のとおりです (音は鳴るが、色は機能しない)。理由については以下をお読みください。

#! /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

答え1

ターミナルセッションの色を変更するには、@DanielBeckの回答はこちら

現在の作業ディレクトリを取得するシェル スクリプトでへの呼び出しをラップしosascript、そのシェル スクリプトを のどこかに配置する$PATHか、コマンド プロンプトに配置することもできますPS1

たとえば、作業ディレクトリのベース名がホーム フォルダである場合は、AppleScript コマンドを実行して色を変更します (または、この場合は、ダイアログで指示するだけです)。

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

関連情報