2011-08-26 55 views
11

我必須編寫一個Applescript來根據用戶自動掛載一個文件夾。 Applescript編輯器會引發此錯誤。將一個字符串和一個變量連接成一個字符串在applescript

行結束後不能跟隨此標識符。

這裏是引發錯誤的腳本部分。

try 
    set short_name to do shell script "whoami" 
    set path to "afp://fileserver.local/Faculty/" & short_name 
    mount volume path as user name short_name 
end try 
+0

我應該補充說明第3行末尾的short_name是突出顯示的。 – jeremyjjbrown

+0

快速提示:由於您的腳本位於'try'塊中,因此您不應該看到任何錯誤。 – fireshadow52

+0

此問題已被瀏覽了一千次,只有一次投票! – jeremyjjbrown

回答

14

path不能是變量名。

try 
    set short_name to do shell script "whoami" 
    set p to "afp://fileserver.local/Faculty/" & short_name 
    display dialog p 
end try 

工作正常。

8

我同意Bertrand,你的問題是使用「路徑」作爲變量。有些單詞對於applescript有特殊的含義,不能用作變量,路徑就是其中之一。你會注意到,當你編譯你的代碼時,路徑不會像其他變量一樣變綠,表明它是特殊的。

如果你仍然想使用「路徑」作爲變量,但你可以。在applescript中你可以把「|」圍繞變量向applescript表明它是一個變量。所以這將工作。

try 
    set short_name to do shell script "whoami" 
    set |path| to "afp://fileserver.local/Faculty/" & short_name 
    mount volume |path| as user name short_name 
end try 

注意,使用這種技術,你其實可以有像幾個單詞一個變量...

set |the path| to "afp://fileserver.local/Faculty/" & short_name 

最後一個評論...有一個AppleScript方法得到的短用戶名一個人...

set short_name to short user name of (get system info) 
+0

+1,但我不同意你關於'set short_name to short user name of(get system info)'。在我的機器上運行大約需要2秒鐘。 –

+0

我同意(獲取系統信息)非常慢。 「做shell腳本」whoami「」要快得多 – jeremyjjbrown

相關問題