Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash和macosx,spacen中的开放应用程序_Bash_Macos - Fatal编程技术网

Bash和macosx,spacen中的开放应用程序

Bash和macosx,spacen中的开放应用程序,bash,macos,Bash,Macos,我想知道是否有可能在bash for OSX中创建一个脚本,我们为它输入应用程序名和数字N,这样这个应用程序就可以在空间的空间号N中打开 我想用它来创建一个元脚本,这样当计算机启动并在登录后,在每个空间上我都会得到不同的应用程序,重要的是,我可以在脚本文件中更改它,而不是通过mac os x空间的首选项 谢谢默认写入com.apple.dock工作区应用程序绑定-dict add com.apple.safari 4 从命令行执行的操作与更改空间首选项以将safari放在空间编号4中的操作相同。

我想知道是否有可能在bash for OSX中创建一个脚本,我们为它输入应用程序名和数字N,这样这个应用程序就可以在空间的空间号N中打开

我想用它来创建一个元脚本,这样当计算机启动并在登录后,在每个空间上我都会得到不同的应用程序,重要的是,我可以在脚本文件中更改它,而不是通过mac os x空间的首选项


谢谢

默认写入com.apple.dock工作区应用程序绑定-dict add com.apple.safari 4

从命令行执行的操作与更改空间首选项以将safari放在空间编号4中的操作相同。65544将把它放在所有空间

正如您所见,是船坞进行空间绑定。

#/垃圾箱/垃圾箱
#!/bin/sh
APPNAME=$1
SPACE=$2
APPID=$(osascript - <<EOF1 | tr '[:upper:]' '[:lower:]'
tell application "Finder"
    get id of application file "$APPNAME" of folder "Applications" of startup disk
end tell
EOF1
)
osascript - <<EOF2
tell application "System Events"
    set x to application bindings of spaces preferences of expose preferences
    set x to {|$APPID|:$SPACE} & x
    set application bindings of spaces preferences of expose preferences to x
end tell
EOF2
APPNAME=$1 空间=$2
APPID=$(osascript-此函数已在OSX的最新版本中直接在System Preferences->Exposé&Spaces->Spaces->Application Assignments中实现。下面是一个在Objective-C中运行AppleScript的简单Hello World示例:

我认为使用bash不可能实现这一点,但您可以使用
osascript
命令启动applescript,它可能能够实现您所需的功能。您能指出一些教程吗?感谢搜索applescript教程。然而,brace for impact-applescript实际上是一种糟糕的语言,具有讽刺意味的是,它试图做到这一点太“人性化”.嗨,你确定吗?我在终端上输入,打开了6个空格,safari没有显示。你可能需要
killall Dock
来让你的Dock重新加载默认值。另外,编辑和扩展你原来的问题比打开第二个几乎相同的问题要好。这样你就会得到一个答案oner.此外,所提供的脚本仅适用于/applications中的应用程序。将其扩展到其他文件夹中的应用程序将留给读者作为练习。您好,是的,您说得对,很抱歉没有很好的解释。我下次会这样做。但我意识到这不是我要找的。对不起,我没有用你的脚本,一个应用程序会被分配到某个空间。然后每次我打开它,它都会进入那个空间,所以我不能在不同的空间中有两个应用程序实例。我只需要知道如何告诉(在bash/applescript或其他语言中)一个应用程序的实例,“移动”到空间号N。我将打开一个新的问题。谢谢