функция работает из командной строки, но не из скрипта

функция работает из командной строки, но не из скрипта

У меня есть файл скрипта оболочки, который запускает сервер 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

http://ubuntuforums.org/showthread.php?t=664657

Связанный контент