ОК, поэтому я задал этот вопрос пару дней назад, но немного взбил, поэтому я удалил его и собираюсь снова попытаться обратиться за помощью ...
У меня есть псевдоним в .zshrc;
alias gulp='gulp-notice'
Это, в свою очередь, запускает функцию;
gulp-notice ()
{
notifier-around gulp "Gulp" "gulp $*"
}
который в свою очередь запускает эту функцию
notifier-around ()
{
GROUP_ID=$1
TITLE=$2
COMMAND=$3 $4 $5 $6 $7 $8 $9
terminal-notifier -title $COMMAND -message 'Finished' -appIcon https://s-media-cache-ak0.pinimg.com/564x/b5/5a/18/b55a1805f5650495a74202279036ecd2.jpg && terminal-notifier -title $COMMAND -message 'Complete' -appIcon https://s-media-cache-ak0.pinimg.com/564x/b5/5a/18/b55a1805f5650495a74202279036ecd2.jpg || terminal-notifier -title $COMMAND -message 'Failed' -appIcon https://media3.giphy.com/media/10ECejNtM1GyRy/200_s.gif
}
Таким образом, переменные работают следующим образом (используя функцию gulp-note)
GROUP_ID is gulp
TITLE is "Gulp" (without the quote marks)
COMMAND is "gulp $*" (the output without the quote marks)
Теперь моя проблема заключается в следующем ... Когда я использовал этот скрипт в BASH, он выполнял команду gulp, а терминал-уведомитель выполнял свою функцию (сообщая мне, если gulp потерпел неудачу или преуспел)
gulp
будет запускать gulp
и необходимые уведомления в зависимости от ситуации
gulp sass
будет запускать gulp sass
и необходимые уведомления в зависимости от ситуации
Теперь я перешел на ZSH, скрипт просто запускает уведомление терминала и ничего больше. Может ли кто-нибудь указать мне правильное направление, поскольку я не понимаю, почему сценарии должны быть такими разными в двух терминальных приложениях
UPDATE
Теперь у меня есть рабочий код, но я не могу запустить gulp-задачи, такие как SASS или JS (gulp sass
или gulp js
). Мой исправленный код выглядит следующим образом
notifier-around ()
{
GROUP_ID=$1
TITLE=$2
COMMAND="$3 $4 $5 $6 $7 $8 $9"
COMMAND_NO_WHITE_SPACE="$(echo -e "${COMMAND}" | sed -e 's/[[:space:]]*$//')" //strips the white space from the end of the VAR
PROGRESS="https://s-media-cache-ak0.pinimg.com/564x/b5/5a/18/b55a1805f5650495a74202279036ecd2.jpg"
FAIL="https://media3.giphy.com/media/10ECejNtM1GyRy/200_s.gif"
terminal-notifier -group "$GROUP_ID" -title "$TITLE" -message "Starting" -appIcon "$PROGRESS" && $COMMAND_NO_WHITE_SPACE && terminal-notifier -group "$GROUP_ID" -title "$TITLE" -message "Complete" -appIcon "$PROGRESS" || terminal-notifier -group "$GROUP_ID" -title "$TITLE" -message "Failure" -appIcon "$FAIL"
}
gulp-notice ()
{
notifier-around gulp "Gulp Build" "gulp $*"
}
alias gulp='gulp-notice'
Любые идеи о том, как заставить его распознавать дополнительные задачи, поскольку я тоже не могу запустить gulp --tasks
...