Я хочу настроитьвизуальные оповещениякогдаработа в определенных каталогахв mac osxТерминал.
В частности, у меня есть несколько проектов, запущенных в одном и том же фреймворке, что может легко привести к ошибкам. Я в конечном итоге запускаю a 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