Mac OSX - 启动Shell&工作目录

时间:2013-10-30 18:33:56

标签: c macos shell relative-path working-directory

我有一个脚本,我正在创建我创建的两个应用程序。一个是命令行界面,另一个是应用程序本身。

output/a.o
output/b.o

我有一个启动shell脚本,它执行以下操作。

#!/bin/bash    
./output/a.o & 
sleep 3;
open -a Terminal.app output/b.o

因此shell脚本启动了两个应用程序。 b.o依赖于a.o在运行时生成的文件,该文件具有命令行界面的一些配置参数。我遇到的问题是第一个程序在当前工作目录中执行,但是在新窗口中打开命令行界面的第二个命令会在/ Users / Username目录或当前用户的HOME目录中打开它。因此,第二个应用程序b.o找不到在运行a.o的当前工作目录中生成的文件。

我想知道是否有人知道使用与a.o(应用程序)相同的当前工作目录中的open命令执行命令行界面(b.o)的方法。

注意:我不想对两个脚本都使用open,因为我希望从当前工作目录而不是用户的主目录运行脚本。

1 个答案:

答案 0 :(得分:1)

我建议尝试AppleScript而不是打开 -

osascript -e 'tell application "terminal"' -e 'do script "cd /path/to/direcory; output/b.o"' -e 'end tell'

这应该打开一个新的终端窗口,cd到正确的目录然后运行你的程序。