У меня есть файл скрипта оболочки, который запускает сервер Ruby dev и устанавливает заголовок окна. По какой-то причине он не работает в OS X, но работал в Ubuntu.
Вот мой сценарий:
[10:24:48] [user@mac site_web]$ tail ./sdev.sh
#!/bin/bash
title "dev server port 3000"
RAILS_ENV=development rails s -p 3000 --debugger
Из командной строки запускается нормально, но из скрипта возникает ошибка.
[10:18:17] [user@mac site_web]$ title "dev server"
title changed
[10:18:29] [user@mac site_web]$ ./sdev.sh
./sdev.sh: line 2: title: command not found
Вот эта последняя строка и есть проблема.
И моя функция title (в моем ~/.bash_profile):
# function for setting terminal titles in OSX
function title {
printf "\033]0;%s\007" "$1"
echo "title changed"
}
Нужно ли мне делать это по-другому, поскольку я работаю на OSX?
Редактировать: Я попробовал добавить функцию title в /Users/[me]/.bashrc, но ошибка все еще возникает.
решение1
У меня нет под рукой Mac, чтобы попробовать это, но что если вы включите ссылку на исходный код функции в свой скрипт, например:
#!/bin/bash
. $HOME/.bash_profile
title "dev server port 3000"
RAILS_ENV=development rails s -p 3000 --debugger