함수는 명령줄에서는 작동하지만 스크립트 내에서는 작동하지 않습니다.

함수는 명령줄에서는 작동하지만 스크립트 내에서는 작동하지 않습니다.

Ruby 개발 서버를 시작하고 창 제목을 설정하는 쉘 스크립트 파일이 있습니다. 어떤 이유로 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에 제목 기능을 추가하려고 시도했지만 여전히 오류가 발생합니다.

답변1

이 작업을 시도할 수 있는 Mac이 없지만 스크립트 ala에 함수 소스에 대한 참조를 포함하면 어떻게 될까요?

#!/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

관련 정보