У мене є файл сценарію оболонки, який запускає сервер 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
Ця остання лінія є проблемою.
І моя функція назви (у моєму файлі ~ / .bash_profile):
# function for setting terminal titles in OSX
function title {
printf "\033]0;%s\007" "$1"
echo "title changed"
}
Чи потрібно мені робити це інакше, тому що це на OSX?
Редагувати: Я спробував додати функцію заголовка до /Users/[me]/.bashrc, і я все ще отримую помилку.
@Slhck як я розумію, що не існує на Mac OS X
—
jcollum
@slhck виглядає так: неправильно; додав функцію .bashrc, і я все ще отримую помилку
—
jcollum
Ну, це не існує за замовчуванням, але він читається bash, коли він викликається. Див. Joshstaiger.org/archives/2005/07/bash_profile_vs.html - однак у вашому випадку ви повинні
—
slhck
source ~/.bash_profile(або ~/.bashrc) з вашого сценарію. Я вважаю, що тут чогось не вистачає, але пошук конфігураційного файлу повинен зробити цю функцію доступною.
@slhck Я намагався, що всього за пару хвилин, перш ніж ви прокоментували
—
jcollum
if [ -f ~/.bashrc] etc.., він нічого не змінив
.bashrcзамість