Итак, у меня есть отличная маленькая функция в моем bash_profile, которая прекрасно работает, когда я вызываю ее из терминала (вместо новой вкладки открывается новое окно Firefox):
function firefoxNewWindow() {
/usr/bin/env osascript <<-EOF
tell application "System Events"
if (name of processes) contains "Firefox" then
tell application "Firefox" to activate
keystroke "n" using command down
else
tell application "Firefox" to activate
end if
end tell
EOF
}
Теперь я создаю текстовый файл и помещаю его на рабочий стол OSX Lion с расширением .command (firefoxNewWindow.command) и помещаю в него следующий текст:
firefoxNewWindow
Затем я проверяю, что это исполняемый файл, выполнив это:
chmod a+x desktop/firefoxNewWindow.command
Теперь, когда я дважды щелкаю командный файл на рабочем столе, чтобы запустить его, я получаю эту ошибку:
~ >/Users/myname/Desktop/firefoxNewWindow.command ; exit;
/Users/myname/Desktop/firefoxNewWindow.command: line 1: firefoxNewWindow: command not found
logout
Итак, почему я получаю команду Not Found, когда функция находится в bash_profile и работает из терминала Terminal? Так как это функция в bash_profile, я предполагаю, что не нужно указывать путь, так как он должен запускаться из любого пути. Любые идеи о том, как сделать эту работу?
Спасибо