2015-05-04 42 views
2

我有一個用swift編寫的程序,我想知道如何在終端命令中引用一個變量(字符串)。如何在AppleScript中使用變量?

這是我試過的,但我沒有任何成功。

var clientUsed : String = "Safari" 
    var killApp: NSAppleScript? 
    let killCommand = "do shell script \"killall " + clientUsed\" 
    killApp = NSAppleScript(source:killCommand) 

我該如何正確構造它?

該命令應該說以下內容:

killall Safari 

凡Safari是由用戶選擇的變量。

我認爲任何具有swift或obj-c知識的人都可以幫助我解決這個問題。

回答

3

最簡單的方法是通過字符串插值。您的字符串字面量裏,附上一個變量\()有它在這一點上插入的字符串表示:

let killCommand = "do shell script \"killall \(clientUsed)\"" 

您原來使用+的想法也將工作(少整齊雖然),但你需要添加額外的字符串字面上的結尾:

let killCommand = "do shell script \"killall " + clientUsed + "\"" 
+0

完美,謝謝!很好的解釋:) – DanTdd

+0

我爲我的另一個命令嘗試了同樣的方法,但沒有奏效。我輸入正確了嗎? 「do shell script \」open --hide --background/Applications/\(clientUsed).app \「」 – DanTdd

+0

它缺少開啓paren前面的'\'(即''do shell script \ --hidden --background/Applications/\(clientUsed).app \「」') –