Apple Script 使用和常見問題

常用語句

hello world

say "hello world"
beep 2

變量

set a to {1, 2}
# 此處報錯够话,a不能轉(zhuǎn)成字符串
say a

dialog

set message to "Dialog Message"
set temp to display dialog message buttons {"OK", "Cancel"}
set selectedTitle to button returned of temp
display dialog "You pressed the following button " & selectedTitle
dialog_1
dialog_2

清空廢紙簍

tell application "Finder"
    empty trash
end tell

列表選擇器

choose from list {"dawei", "libai", "lilei"} with title "名字選擇器" with prompt "請選擇名稱" default items {"lilei"} with empty selection allowed and multiple selections allowed
自定義內(nèi)容選擇.png

文件選擇器

# choose folder 選擇文件夾
choose file of type ("txt") with prompt "選取文件"
文件選擇器

AppleScript 和 shell 交互

相互調(diào)用

AppleScript 調(diào)用shell

do shell script "cd ~;ls"

shell 調(diào)用 AppleScript

# osascript -e "語句"
finder=`osascript -e "set dir to POSIX path of (choose folder with prompt \"選擇一個文件夾\")"`
# 輸出結(jié)果/Users/xiaoniu/Documents/XXXX/
echo $finder

/** 
    osascript <<EOF
    語句
    EOF
 */

echo "shell 調(diào)用 AppleScript start"

path=`pwd`
osascript <<EOF
set a to  POSIX file "$path"
tell application "Finder"
    open folder a
end tell
EOF

# 這里注意一下傳值問題贴彼,path是shell里面的變量,作為參數(shù)傳個osascript語句羡洛,加了"".

echo "

傳值

AppleScript -> shell

如果是字符串,可以直接使用 & 進行拼接砾层。

set hostname to "www.baidu.com"

do shell script "ping -c1 " & hostname

更通用的是 quoted form of

# quoted form of
set hostname to "www.baidu.com"

do shell script "ping -c1 " & quoted form of hostname

shell -> AppleScript

path=`pwd`
osascript <<EOF
set a to  POSIX file "$path"
shell 調(diào)用 AppleScript

很多時候宠页,shell 需要獲取Apple Script的執(zhí)行結(jié)果,獲取方式如下

finder=`osascript -e "set dir to POSIX path of (choose folder with prompt \"選擇一個文件夾\")"`
# 輸出結(jié)果/Users/xiaoniu/Documents/XXXX/
echo $finder

路徑轉(zhuǎn)換

set p to "/usr/local/bin/" 
set a to POSIX file p 
   -- file "Macintosh HD:usr:local:bin:"

To translate an AppleScript path (file or directory, valid or not) into a POSIX path use POSIX path of.

set a to "Macintosh HD:usr:local:bin:" 
set p to POSIX path of a 
   -- "/usr/local/bin/"

定時執(zhí)行腳本

單純的腳本雖然功能強大担钮,但是有時候的確不是那么方便。配合定時任務(wù)尤仍,腳本可以發(fā)揮更大的功能箫津。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>com.feng.record</string>
    <key>ProgramArguments</key>
    <array>
        <string>osascript</string>
      <string>~/Documents/record.scpt</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
      <key>Minute</key>
      <integer>0</integer>
      <key>Hour</key>
      <integer>18</integer>
    </dict>
    <key>StandardInPath</key>
    <string>~/Documents/MyAppleScript/in.log</string>
    <key>StandardOutPath</key>
    <string>~/Documents/MyAppleScript/out.log</string>
    <key>StandardErrorPath</key>
    <string>~/Documents/MyAppleScript/err.log</string>
  </dict>
</plist>
$ plutil -lint xxx.plist
$ launchctl load ~/Library/LaunchAgents/18.plist 

每天18:00執(zhí)行腳本~/Documents/record.scpt,至于這個腳本里寫什么就可以自由發(fā)揮了宰啦。

# record.scpt
# 語音 + 彈窗 提醒打卡
say "快去打卡苏遥,忘記打卡就不好了!"
display dialog "快去打卡赡模,忘記打卡就不好了田炭!" buttons {"了解"}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市漓柑,隨后出現(xiàn)的幾起案子教硫,更是在濱河造成了極大的恐慌,老刑警劉巖辆布,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瞬矩,死亡現(xiàn)場離奇詭異,居然都是意外死亡锋玲,警方通過查閱死者的電腦和手機景用,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惭蹂,“玉大人伞插,你說我怎么就攤上這事割粮。” “怎么了蜂怎?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵穆刻,是天一觀的道長。 經(jīng)常有香客問我杠步,道長,這世上最難降的妖魔是什么榜轿? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任幽歼,我火速辦了婚禮,結(jié)果婚禮上谬盐,老公的妹妹穿的比我還像新娘甸私。我一直安慰自己,他們只是感情好飞傀,可當(dāng)我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布皇型。 她就那樣靜靜地躺著,像睡著了一般砸烦。 火紅的嫁衣襯著肌膚如雪弃鸦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天幢痘,我揣著相機與錄音唬格,去河邊找鬼。 笑死颜说,一個胖子當(dāng)著我的面吹牛购岗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播门粪,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼喊积,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了玄妈?” 一聲冷哼從身側(cè)響起乾吻,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎措近,沒想到半個月后溶弟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡瞭郑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年辜御,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片屈张。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡擒权,死狀恐怖袱巨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情碳抄,我是刑警寧澤愉老,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站剖效,受9級特大地震影響嫉入,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜璧尸,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一咒林、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧爷光,春花似錦垫竞、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至徐裸,卻和暖如春遣鼓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背倦逐。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工譬正, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人檬姥。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓曾我,卻偏偏與公主長得像,于是被迫代替她去往敵國和親健民。 傳聞我的和親對象是個殘疾皇子抒巢,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,490評論 2 348