Ich habe eine Shell-Skriptdatei, die einen Ruby-Dev-Server startet und den Titel des Fensters festlegt. Aus irgendeinem Grund funktioniert es nicht unter OS X, aber unter Ubuntu.
Hier ist mein Drehbuch:
[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
Läuft problemlos über die Befehlszeile, schlägt jedoch innerhalb des Skripts fehl.
[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
Diese letzte Zeile ist das Problem.
Und meine Titelfunktion (in meinem ~ / .bash_profile):
# function for setting terminal titles in OSX
function title {
printf "\033]0;%s\007" "$1"
echo "title changed"
}
Muss ich das anders machen, weil es unter OSX läuft?
Bearbeiten: Ich habe versucht, die Titelfunktion zu /Users/[me[/.bashrc hinzuzufügen, und es wird immer noch der Fehler angezeigt.
.bashrc
stattdessen , die Funktion in Ihrensource ~/.bash_profile
(oder~/.bashrc
) aus Ihrem Skript. Ich glaube, dass hier etwas fehlt, aber die Beschaffung der Konfigurationsdatei sollte die Funktion verfügbar machen.if [ -f ~/.bashrc] etc..
, es nichts geändertAntworten:
Ich habe keinen Mac, um dies zu versuchen, aber was ist, wenn Sie einen Verweis auf die Funktionsquelle in Ihr Skript aufgenommen haben?
http://ubuntuforums.org/showthread.php?t=664657
quelle