我有一个脚本,我正在创建我创建的两个应用程序。一个是命令行界面,另一个是应用程序本身。
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,因为我希望从当前工作目录而不是用户的主目录运行脚本。
答案 0 :(得分:1)
我建议尝试AppleScript而不是打开 -
osascript -e 'tell application "terminal"' -e 'do script "cd /path/to/direcory; output/b.o"' -e 'end tell'
这应该打开一个新的终端窗口,cd到正确的目录然后运行你的程序。