função funciona a partir da linha de comando, mas não de dentro do script

0

Eu tenho um arquivo de script de shell que lança um servidor de ruby dev e define o título da janela. Por alguma razão, não está funcionando no OS X, mas funcionou no Ubuntu.

Aqui está meu script:

[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

Funciona bem na linha de comando, mas falha no script.

[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 

Essa última linha é o problema.

E minha função title (no meu ~ / .bash_profile):

# function for setting terminal titles in OSX
function title {
  printf "3]0;%s
[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
7" "$1" echo "title changed" }

Eu preciso fazer isso de forma diferente porque está no OSX?

Editar: Eu tentei adicionar a função title a / Users /[me]/.bashrc e ainda estou recebendo o erro.

    
por jcollum 08.11.2012 / 19:27

1 resposta

1

Eu não tenho um Mac disponível para tentar isso, mas e se você incluir uma referência à fonte de função em seu script ala:

#!/bin/bash
. $HOME/.bash_profile
title "dev server port 3000"
RAILS_ENV=development rails s -p 3000 --debugger

link

    
por 08.11.2012 / 20:32