2012-10-26 109 views
3

我确实有几个shell脚本,它们不会彼此激活。applescript和终端(在一个终端窗口中运行几个做shell脚本)

但我想留在相同的终端窗口。

为了简化问题,可以说例如

第一个脚本。 - cd到工作目录 秒。 - 做一些事情,并从第 目录获取文件。 - 在该目录中的新文件/文件夹上穹顶上更多的东西。第四个是 。 - ....

如何让脚本2和脚本3(所有脚本都如此)在脚本1期间打开的非常相同的目录和窗口中运行?

F.e如何避免使用每个文件的文件夹的完整路径。

编辑:adayzdone的回答后,我意识到,我忘了提,我还需要脚本

EDIT2的一个管理员权限:现在我用这个

tell application "Terminal" 
    set newTab to do script 
    set current settings of newTab to settings set "Grass" 
    do script "bin/sh/ echo 'xx' | su;" in newTab 
    do script "cd " & quoted form of realParentPath in newTab 
    do script shellscript1 in newTab 
    do script shellscript..n in newTab 
    activate 
end tell 

,但仍然没有骰子特权。

回答

1

尝试:

tell application "Terminal" 
    do script "cd ~/" in window 1 
    do script "ls -a" in window 1 
end tell 

OR

property usr : "username" 
property pswd : "password" 

set xxx to do shell script "cd ~/ ; ls -a " user name usr password pswd with administrator privileges 
+0

谢谢你,确实帮助了。不过,我还需要其中一个脚本的管理员权限。但我找不到/不知道如何添加权限,或者我应该在shell脚本中使用“echo $ passw | sudo -u root” –

+0

是否有原因需要从终端运行而不是做shell脚本? – adayzdone

+0

使用do shell脚本我没有使用通用shell,f.e在第一个do shell脚本中的cd在第二个shell脚本中没有任何用处。我是对的还是......第二个原因,我喜欢看到脚本没有记录本身的一些结果。但无论如何,如果您可以告诉我如何解决CD问题,我可以在其他脚本中使用它。再次感谢。顺便说一句,有特权问题,我看到我在我的评论中失去了一条线,结果我总是得到'抱歉'。 –

相关问题