欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Mac終端自動(dòng)化:使用osascript實(shí)現(xiàn)任務(wù)完成后自動(dòng)關(guān)閉窗口

Mac終端自動(dòng)化:使用osascript實(shí)現(xiàn)任務(wù)完成后自動(dòng)關(guān)閉窗口 1. 一個(gè)看似簡(jiǎn)單卻暗藏玄機(jī)的自動(dòng)化需求在Mac上進(jìn)行開發(fā)或者日常腳本操作時(shí)我們經(jīng)常會(huì)遇到這樣一個(gè)場(chǎng)景你寫了一個(gè)腳本或者編譯了一個(gè)可執(zhí)行程序通過終端Terminal窗口來運(yùn)行它。程序運(yùn)行結(jié)束后終端窗口的任務(wù)就完成了但它并不會(huì)自動(dòng)關(guān)閉而是停留在那里顯示著最后的輸出結(jié)果和命令提示符。對(duì)于一次性的、運(yùn)行后無需交互的任務(wù)這個(gè)空置的窗口就顯得有些多余尤其是當(dāng)你需要連續(xù)執(zhí)行多個(gè)這樣的任務(wù)時(shí)屏幕上會(huì)留下一堆“僵尸”窗口既不美觀也影響效率。這個(gè)需求的核心就是“善后”——讓工具在完成使命后自行清理現(xiàn)場(chǎng)。比如你寫了一個(gè)自動(dòng)打包應(yīng)用并上傳到服務(wù)器的腳本或者一個(gè)定時(shí)清理日志的小工具。當(dāng)它們執(zhí)行完畢你希望終端窗口能自動(dòng)關(guān)閉讓桌面回歸整潔。這不僅僅是“懶人”的追求更是自動(dòng)化流程中“閉環(huán)”思維的體現(xiàn)一個(gè)完整的自動(dòng)化任務(wù)應(yīng)該包括啟動(dòng)、執(zhí)行和清理三個(gè)階段。乍一看這似乎是個(gè)小問題用個(gè)exit命令不就行了但如果你直接在腳本末尾寫exit你會(huì)發(fā)現(xiàn)它確實(shí)退出了當(dāng)前的Shell會(huì)話但整個(gè)終端窗口也隨之關(guān)閉了。如果你的腳本是你在一個(gè)已經(jīng)打開、正在使用的終端窗口里手動(dòng)執(zhí)行的這個(gè)行為就非常危險(xiǎn)——它會(huì)關(guān)掉你正在工作的整個(gè)窗口可能讓你丟失未保存的工作上下文。所以我們需要的是一種更“聰明”的方式只關(guān)閉由當(dāng)前腳本或命令所“創(chuàng)建”或“屬于”的那個(gè)終端窗口而不是無差別地關(guān)閉所有。這就是osascript登場(chǎng)的時(shí)候。osascript是 macOS 系統(tǒng)自帶的強(qiáng)大工具用于執(zhí)行 AppleScript 或 JavaScript 腳本從而與系統(tǒng)及其應(yīng)用程序進(jìn)行深度交互。通過它我們可以精確地告訴系統(tǒng)“找到運(yùn)行我這個(gè)進(jìn)程的終端窗口然后在合適的時(shí)機(jī)關(guān)閉它?!?這個(gè)需求背后涉及到進(jìn)程樹、窗口歸屬判斷和安全的系統(tǒng)交互遠(yuǎn)不止一個(gè)exit命令那么簡(jiǎn)單。2. 理解核心工具osascript 與 AppleScript 的威力要解決我們的問題首先得理解我們手中的“瑞士軍刀”——osascript。它不是一個(gè)獨(dú)立的編程語(yǔ)言而是一個(gè)命令行解釋器專門用來執(zhí)行 AppleScript (.scpt) 文件或直接運(yùn)行內(nèi)聯(lián)的 AppleScript/JavaScript 代碼。AppleScript 是 macOS 系統(tǒng)級(jí)自動(dòng)化的“官方語(yǔ)言”其設(shè)計(jì)目標(biāo)就是用接近自然英語(yǔ)的語(yǔ)法來控制應(yīng)用程序。為什么不用簡(jiǎn)單的 Shell 命令因?yàn)?Shell如 bash、zsh主要管理進(jìn)程和文件系統(tǒng)它對(duì)“應(yīng)用程序窗口”這種圖形界面層級(jí)的對(duì)象控制能力非常有限。而 AppleScript 可以直接與任何支持 AppleScript 詞典AppleScript Dictionary的應(yīng)用程序?qū)υ扵erminal.app 正是其中之一。通過 AppleScript我們可以查詢 Terminal 打開了哪些窗口每個(gè)窗口正在運(yùn)行什么進(jìn)程進(jìn)而執(zhí)行關(guān)閉窗口等操作。一個(gè)最簡(jiǎn)單的 AppleScript 關(guān)閉當(dāng)前終端窗口的語(yǔ)句是tell application Terminal to close window 1這條命令會(huì)關(guān)閉 Terminal 應(yīng)用最前面的那個(gè)窗口索引為1。但是這里有一個(gè)巨大的陷阱它關(guān)閉的是“最前面”的窗口而不一定是運(yùn)行我們腳本的那個(gè)窗口。如果你在運(yùn)行腳本時(shí)又點(diǎn)擊激活了另一個(gè)終端窗口那么被關(guān)閉的將是那個(gè)被激活的窗口可能導(dǎo)致誤操作。因此我們的腳本必須能精準(zhǔn)定位到自身所在的窗口。這就需要利用進(jìn)程IDPID。在 Unix/Linux 系統(tǒng)包括 macOS中每個(gè)進(jìn)程都有一個(gè)唯一的 PID。我們的 Shell 腳本在運(yùn)行時(shí)其進(jìn)程 PID 可以通過$$變量獲取。而 Terminal 窗口里運(yùn)行的 Shell又是 Terminal 應(yīng)用的一個(gè)子進(jìn)程。AppleScript 可以獲取 Terminal 窗口當(dāng)前運(yùn)行的進(jìn)程信息。思路由此清晰我們的腳本需要獲取自己的 PID然后通過osascript執(zhí)行一段 AppleScript 代碼讓 Terminal 應(yīng)用遍歷所有窗口找到那個(gè)正在運(yùn)行該 PID 對(duì)應(yīng)進(jìn)程的窗口然后關(guān)閉它。3. 方案設(shè)計(jì)與關(guān)鍵腳本實(shí)現(xiàn)基于上述原理我們可以設(shè)計(jì)出兩種主流方案。第一種是“自報(bào)家門”式腳本在運(yùn)行前就告訴系統(tǒng)如何關(guān)閉自己所在的窗口。第二種是“父進(jìn)程追溯”式由一個(gè)啟動(dòng)器腳本負(fù)責(zé)創(chuàng)建新窗口運(yùn)行任務(wù)并在任務(wù)結(jié)束后關(guān)閉該窗口。3.1 方案一在任務(wù)腳本內(nèi)部集成關(guān)閉邏輯這種方案將關(guān)閉窗口的代碼直接嵌入到需要運(yùn)行的任務(wù)腳本即可執(zhí)行程序或Shell腳本的末尾。其核心步驟是獲取當(dāng)前 Shell 的進(jìn)程 ID (PID)使用$$。構(gòu)造并執(zhí)行 AppleScript通過osascript -e執(zhí)行內(nèi)聯(lián)的 AppleScript 代碼讓 Terminal 查找并關(guān)閉運(yùn)行指定 PID 的窗口。一個(gè)基礎(chǔ)的實(shí)現(xiàn)版本如下#!/bin/bash # 這里是你的主要任務(wù)邏輯 echo 任務(wù)開始執(zhí)行... sleep 2 # 模擬一個(gè)耗時(shí)操作 echo 任務(wù)執(zhí)行完畢 # --- 關(guān)閉當(dāng)前終端窗口的邏輯 --- # 獲取當(dāng)前腳本的PID MY_PID$$ # 使用osascript執(zhí)行AppleScript來關(guān)閉窗口 osascript EOF tell application Terminal repeat with win in windows try -- 獲取該窗口當(dāng)前標(biāo)簽頁(yè)的進(jìn)程ID set tabProc to processes in selected tab of win if (count of tabProc) 0 then set theProc to item 1 of tabProc if theProc is ${MY_PID} then close win exit repeat end if end if end try end repeat end tell EOF腳本解析與注意事項(xiàng)MY_PID$$$$在Shell中代表當(dāng)前腳本進(jìn)程的PID。osascript EOF ... EOF這是 Shell 的“Here Document”語(yǔ)法用于將多行文本作為標(biāo)準(zhǔn)輸入傳遞給命令。這里傳遞的就是一段 AppleScript 代碼。tell application Terminal開始對(duì) Terminal 應(yīng)用進(jìn)行操作。repeat with win in windows遍歷 Terminal 的所有窗口。processes in selected tab of win獲取指定窗口當(dāng)前選中標(biāo)簽頁(yè)中運(yùn)行的進(jìn)程列表。在 AppleScript 中Terminal 的窗口、標(biāo)簽頁(yè)、進(jìn)程有明確的層級(jí)關(guān)系。if theProc is ${MY_PID}這是一個(gè)關(guān)鍵判斷。我們將 Shell 變量MY_PID嵌入到了 AppleScript 字符串中。如果找到的進(jìn)程 ID 與當(dāng)前腳本的 PID 匹配則執(zhí)行close win。exit repeat找到并關(guān)閉目標(biāo)窗口后立即退出循環(huán)提高效率。重要提示直接使用此腳本可能會(huì)遇到權(quán)限錯(cuò)誤。當(dāng)你首次運(yùn)行包含osascript控制其他應(yīng)用的腳本時(shí)macOS 的安全機(jī)制會(huì)彈出提示框“‘終端’想要訪問控制‘終端’。” 你需要點(diǎn)擊“好”來授權(quán)。這是一個(gè)一次性操作。如果是在自動(dòng)化工具如 cron, launchd或某些 IDE 中運(yùn)行可能無法點(diǎn)擊授權(quán)會(huì)導(dǎo)致腳本卡住或失敗。這是方案一在實(shí)際部署時(shí)需要考慮的。3.2 方案二使用啟動(dòng)器腳本更健壯、更安全方案一雖然直接但將關(guān)閉邏輯與業(yè)務(wù)邏輯耦合并且有權(quán)限彈窗的干擾。更優(yōu)雅和健壯的做法是使用一個(gè)“啟動(dòng)器”Launcher腳本。這個(gè)啟動(dòng)器負(fù)責(zé)打開一個(gè)新的、專用的終端窗口來運(yùn)行我們的任務(wù)腳本并在任務(wù)結(jié)束后關(guān)閉這個(gè)新窗口。這樣關(guān)閉操作由啟動(dòng)器發(fā)起目標(biāo)明確且不會(huì)誤關(guān)其他工作窗口。啟動(dòng)器腳本例如launcher.sh內(nèi)容如下#!/bin/bash # 定義要運(yùn)行的實(shí)際任務(wù)腳本路徑 TARGET_SCRIPT./my_task.sh # 使用 osascript 打開一個(gè)新的 Terminal 窗口并執(zhí)行任務(wù)腳本 # 命令執(zhí)行完畢后自動(dòng)關(guān)閉該窗口。 osascript EOF tell application Terminal -- 啟動(dòng)新窗口并執(zhí)行命令。do script 會(huì)執(zhí)行命令字符串。 -- 在命令末尾添加 ; exit 是為了讓該窗口的shell在執(zhí)行完任務(wù)后退出。 do script cd \$(dirname \${TARGET_SCRIPT}\)\ \${TARGET_SCRIPT}\; exit -- 設(shè)置新窗口在執(zhí)行命令完成后自動(dòng)關(guān)閉 set currentWin to front window set currentTab to selected tab of currentWin set shell to do script in currentTab -- 這行可能不需要取決于版本 -- 實(shí)際上上面的 do script 已經(jīng)在新窗口執(zhí)行了命令。 -- 關(guān)鍵技巧我們通過執(zhí)行一個(gè)包含 exit 的命令讓shell進(jìn)程退出從而觸發(fā)窗口關(guān)閉。 end tell EOF echo “啟動(dòng)器已完成新終端窗口已創(chuàng)建并執(zhí)行任務(wù)。”而我們的任務(wù)腳本my_task.sh則變得非常干凈只關(guān)注業(yè)務(wù)邏輯#!/bin/bash echo “這是真正的任務(wù)腳本...” # 執(zhí)行你的編譯、處理等任何操作 sleep 3 echo “任務(wù)完成” # 注意這里不需要任何關(guān)閉窗口的代碼方案二的優(yōu)勢(shì)分析解耦任務(wù)腳本無需關(guān)心窗口管理只負(fù)責(zé)業(yè)務(wù)符合單一職責(zé)原則。安全啟動(dòng)器腳本在當(dāng)前終端窗口運(yùn)行osascript它控制的是它自己創(chuàng)建的那個(gè)新窗口。即使有權(quán)限彈窗也是在當(dāng)前窗口的上下文中不影響新窗口任務(wù)的執(zhí)行。關(guān)閉操作目標(biāo)明確絕不會(huì)誤關(guān)其他窗口。靈活可以輕松修改啟動(dòng)器來改變終端行為如設(shè)置窗口標(biāo)題、尺寸、背景色等而無需改動(dòng)任務(wù)腳本??烧{(diào)試如果任務(wù)腳本出錯(cuò)你有時(shí)可能希望窗口保持打開以查看錯(cuò)誤信息。在方案二中你可以簡(jiǎn)單地在啟動(dòng)器里去掉命令末尾的; exit窗口就會(huì)在任務(wù)結(jié)束后保持打開。方案二的核心命令詳解do script cd \$(dirname \${TARGET_SCRIPT}\)\ \${TARGET_SCRIPT}\; exitcd \$(dirname \${TARGET_SCRIPT}\)\首先切換到任務(wù)腳本所在的目錄。dirname獲取腳本的目錄路徑$()是命令替換。這是為了保證任務(wù)腳本中的相對(duì)路徑能正確工作。邏輯與只有前一個(gè)命令成功cd切換目錄成功才執(zhí)行后面的命令。\${TARGET_SCRIPT}\執(zhí)行任務(wù)腳本。變量用雙引號(hào)包裹以防止路徑中有空格。; exit無論任務(wù)腳本成功與否都執(zhí)行exit命令退出新窗口中的 Shell。當(dāng) Shell 退出時(shí)Terminal 默認(rèn)會(huì)關(guān)閉該窗口除非在 Terminal 的設(shè)置中更改了此行為。4. 深入排查常見問題與實(shí)戰(zhàn)避坑指南即便有了清晰的方案在實(shí)際操作中你依然可能會(huì)遇到各種“坑”。下面我結(jié)合多年經(jīng)驗(yàn)梳理出幾個(gè)最常見的問題及其根因和解決方案。4.1 權(quán)限問題osascript想要進(jìn)行更改問題現(xiàn)象首次運(yùn)行包含osascript控制 Terminal 的腳本時(shí)系統(tǒng)會(huì)彈出提示“‘終端’想要訪問控制‘終端’。是否允許” 如果點(diǎn)擊“不允許”或者腳本在無頭環(huán)境無圖形界面下運(yùn)行腳本會(huì)卡住或失敗并可能在日志中看到osascript: execution error: Terminal got an error: AppleEvent timed out. (-1712)之類的超時(shí)錯(cuò)誤。根因分析這是 macOS 自 macOS Catalina (10.15) 引入的“隱私與安全性”強(qiáng)化的一部分特別是“自動(dòng)化”權(quán)限。任何應(yīng)用包括通過osascript腳本想要控制其他應(yīng)用都需要得到用戶的明確授權(quán)。這個(gè)權(quán)限是以“控制應(yīng)用”“被控制應(yīng)用”為組合進(jìn)行管理的。解決方案與實(shí)操心得手動(dòng)授權(quán)用于交互式環(huán)境第一次運(yùn)行時(shí)在彈出的提示框中點(diǎn)擊“好”。授權(quán)信息會(huì)存儲(chǔ)在系統(tǒng)設(shè)置 隱私與安全性 自動(dòng)化里。你可以在這里看到“終端”應(yīng)用允許控制哪些其他應(yīng)用包括它自己。一旦授權(quán)后續(xù)運(yùn)行就不會(huì)再?gòu)棿?。?duì)于自動(dòng)化部署如 CI/CD在無頭服務(wù)器或自動(dòng)化流水線中彈窗是不可能的。此時(shí)有幾種策略策略A預(yù)先授權(quán)。如果可能先在帶有圖形界面的同一用戶會(huì)話中手動(dòng)運(yùn)行一次腳本完成授權(quán)。然后自動(dòng)化任務(wù)使用同一用戶身份運(yùn)行時(shí)權(quán)限就已存在。策略B避免控制圖形界面。重新思考需求是否必須關(guān)閉窗口對(duì)于后臺(tái)任務(wù)可以考慮使用nohup或launchd將其作為守護(hù)進(jìn)程運(yùn)行完全脫離終端窗口。策略C使用更底層的機(jī)制。如果只是為了在任務(wù)結(jié)束后終止進(jìn)程樹可以考慮在啟動(dòng)器中使用 kill -TERM -$$之類的命令向進(jìn)程組發(fā)送信號(hào)但這通常不會(huì)關(guān)閉窗口只會(huì)結(jié)束進(jìn)程。個(gè)人踩坑記錄我曾在一個(gè) Jenkins CI 節(jié)點(diǎn)上部署此類腳本始終失敗。后來發(fā)現(xiàn)Jenkins 服務(wù)是以launchd管理的守護(hù)進(jìn)程運(yùn)行它根本沒有圖形會(huì)話上下文osascript的自動(dòng)化請(qǐng)求無處授權(quán)也無法完成。最終解決方案是放棄了關(guān)閉窗口的“潔癖”改為將腳本輸出重定向到日志文件并接受任務(wù)結(jié)束后終端窗口進(jìn)程空閑的狀態(tài)。這提醒我們自動(dòng)化方案必須考慮運(yùn)行環(huán)境。4.2 環(huán)境變量與路徑問題問題現(xiàn)象在新打開的終端窗口中運(yùn)行任務(wù)腳本可能會(huì)發(fā)現(xiàn)環(huán)境變量如$PATH,$JAVA_HOME與你在原終端中設(shè)置的不同導(dǎo)致命令找不到。根因分析通過osascript的do script打開的新終端窗口默認(rèn)會(huì)啟動(dòng)一個(gè)新的登錄 ShellLogin Shell或交互式 ShellInteractive Shell它會(huì)讀取其自身的初始化文件如~/.zshrc,~/.bash_profile。如果你在原終端中通過export臨時(shí)設(shè)置的環(huán)境變量或者你的初始化文件配置復(fù)雜可能導(dǎo)致新窗口的環(huán)境與預(yù)期不符。解決方案在啟動(dòng)器命令中顯式設(shè)置環(huán)境在do script的命令字符串里先設(shè)置必要的環(huán)境變量。osascript EOF tell application Terminal do script export PATH\/usr/local/bin:$PATH\ cd /path/to/project ./build.sh; exit end tell EOF使用絕對(duì)路徑在任務(wù)腳本中對(duì)所有命令都使用絕對(duì)路徑例如/usr/local/bin/python3而不是python3或者至少在腳本開頭顯式設(shè)置PATH。簡(jiǎn)化 Shell 初始化文件檢查~/.zshrc或~/.bash_profile避免其中有復(fù)雜的邏輯、交互式提示或依賴特定終端特性的代碼這些可能會(huì)在非交互式或自動(dòng)化上下文中引發(fā)問題。4.3 窗口匹配失敗與競(jìng)態(tài)條件問題現(xiàn)象方案一中的腳本有時(shí)無法關(guān)閉窗口或者錯(cuò)誤地關(guān)閉了其他窗口。根因分析PID 匹配時(shí)機(jī)問題AppleScript 獲取窗口進(jìn)程 ID 時(shí)你的腳本可能已經(jīng)執(zhí)行完畢并退出。此時(shí)窗口中的進(jìn)程 ID 可能變成了 Shell 的 PID例如zsh或bash而不是你腳本的$$。這就導(dǎo)致了匹配失敗。多標(biāo)簽頁(yè)干擾一個(gè) Terminal 窗口可能有多個(gè)標(biāo)簽頁(yè)。selected tab獲取的是當(dāng)前選中的標(biāo)簽頁(yè)。如果你的腳本運(yùn)行在非選中的標(biāo)簽頁(yè)或者在你腳本運(yùn)行期間用戶切換了標(biāo)簽頁(yè)就會(huì)導(dǎo)致查找失敗。窗口索引不穩(wěn)定window 1指的是最前端的窗口這個(gè)順序會(huì)隨著用戶點(diǎn)擊而動(dòng)態(tài)變化極不可靠。解決方案與強(qiáng)化腳本針對(duì)方案一我們可以編寫一個(gè)更健壯的版本解決 PID 時(shí)機(jī)問題#!/bin/bash # 主要任務(wù) echo “開始長(zhǎng)時(shí)間任務(wù)...” sleep 5 echo “任務(wù)結(jié)束?!?# 增強(qiáng)版關(guān)閉窗口邏輯 # 思路在腳本開始時(shí)保存窗口ID結(jié)束時(shí)用ID來關(guān)閉避免依賴PID。 # 但AppleScript對(duì)Terminal窗口的穩(wěn)定ID獲取較復(fù)雜。一個(gè)更實(shí)用的方法是“延遲關(guān)閉”。 MY_PID$$ osascript EOF tell application Terminal set foundWindow to missing value set myPID to ${MY_PID} -- 短暫延遲確保腳本狀態(tài)已更新 delay 0.5 repeat with win in windows try set tabProc to processes in selected tab of win if (count of tabProc) 0 then set procName to item 1 of tabProc as string -- 嘗試匹配PID也匹配進(jìn)程名如腳本名作為后備 if procName is equal to myPID or procName contains my_task.sh then set foundWindow to win exit repeat end if end if end try end repeat if foundWindow is not missing value then close foundWindow end if end tell EOF這個(gè)版本增加了delay 0.5給系統(tǒng)一點(diǎn)時(shí)間更新進(jìn)程狀態(tài)并且添加了用進(jìn)程名你的腳本名作為后備匹配條件。但請(qǐng)注意依賴進(jìn)程名也可能有重名風(fēng)險(xiǎn)。最根本的建議對(duì)于可靠性要求高的生產(chǎn)環(huán)境優(yōu)先采用方案二啟動(dòng)器模式。它從根本上避免了“尋找自己所在窗口”這個(gè)棘手問題轉(zhuǎn)變?yōu)椤瓣P(guān)閉我創(chuàng)建的那個(gè)窗口”邏輯清晰且穩(wěn)定。4.4 Terminal 應(yīng)用未運(yùn)行或意外退出問題現(xiàn)象腳本報(bào)錯(cuò)Application isn’t running。根因分析osascript的tell application Terminal要求 Terminal 應(yīng)用必須正在運(yùn)行。如果用戶完全退出了 Terminal腳本就會(huì)失敗。解決方案在 AppleScript 中處理這種情況。tell application Terminal if it is running then -- 你的關(guān)閉窗口邏輯 else -- Terminal都沒運(yùn)行自然沒有窗口需要關(guān)閉可以忽略或記錄日志 end if end tell或者更簡(jiǎn)潔地讓osascript自動(dòng)啟動(dòng)它tell application Terminal activate -- 這行會(huì)確保Terminal運(yùn)行并前置可能會(huì)干擾用戶 -- 然后執(zhí)行你的邏輯 end tell但activate會(huì)搶焦點(diǎn)可能不友好。通常如果你的腳本是通過終端運(yùn)行的Terminal 應(yīng)用肯定已經(jīng)在運(yùn)行了所以這個(gè)問題較少見但在通用函數(shù)中處理一下邊界情況是良好的編程習(xí)慣。5. 進(jìn)階技巧與替代方案探索掌握了基礎(chǔ)方案和避坑方法后我們可以看看一些更進(jìn)階的應(yīng)用場(chǎng)景和替代思路讓你的自動(dòng)化腳本更加完善。5.1 自定義新終端窗口的外觀和行為使用啟動(dòng)器方案的一個(gè)額外好處是你可以定制新打開的終端窗口。這可以通過在do script之前或之后執(zhí)行額外的 AppleScript 命令來實(shí)現(xiàn)。#!/bin/bash TARGET_SCRIPT./deploy.sh WINDOW_TITLE自動(dòng)化部署終端 osascript EOF tell application Terminal -- 執(zhí)行命令打開新窗口 do script cd \$(dirname \${TARGET_SCRIPT}\)\ clear echo 開始任務(wù)${WINDOW_TITLE} \${TARGET_SCRIPT}\; exit -- 獲取剛剛創(chuàng)建的前端窗口 set newWin to front window -- 自定義窗口屬性 set custom title of selected tab of newWin to ${WINDOW_TITLE} set background color of newWin to {0, 20000, 40000} -- 深藍(lán)色背景 set normal text color of newWin to {65535, 65535, 65535} -- 白色文字 -- 設(shè)置窗口大小像素 set bounds of newWin to {100, 100, 800, 600} -- 你也可以設(shè)置字體等但屬性名需參考Terminal的AppleScript詞典 end tell EOF這樣每個(gè)自動(dòng)化任務(wù)都可以有自己專屬顏色和標(biāo)題的窗口便于在多個(gè)任務(wù)并行時(shí)區(qū)分。5.2 使用open命令與-W標(biāo)志的替代思路除了osascriptmacOS 的open命令也是一個(gè)強(qiáng)大的工具。它可以用來打開應(yīng)用程序和文件。我們可以用它來打開一個(gè)新的 Terminal 窗口并執(zhí)行命令嗎可以但控制關(guān)閉的精度不如osascript。一種取巧的方法是#!/bin/bash # 使用 open 命令打開Terminal并執(zhí)行命令-W 參數(shù)等待打開的程序退出 open -a Terminal . # 這只是打開Terminal到當(dāng)前目錄無法直接傳遞復(fù)雜命令串。open命令直接傳遞復(fù)雜 shell 命令給 Terminal 比較困難。更常見的模式是如果你要運(yùn)行的是一個(gè).command文件可執(zhí)行的 Shell 腳本可以#!/bin/bash # 假設(shè) task.command 是你的任務(wù)腳本并且已具有可執(zhí)行權(quán)限 open -W -a Terminal task.command-W選項(xiàng)會(huì)讓open命令等待打開的應(yīng)用程序這里是 Terminal退出。當(dāng)task.command腳本執(zhí)行完畢并在末尾包含exit命令時(shí)Terminal 窗口會(huì)關(guān)閉open命令才會(huì)返回。這種方法更簡(jiǎn)單但靈活性較差且依賴于.command文件格式。5.3 整合到更復(fù)雜的自動(dòng)化流程中在實(shí)際的 DevOps 或復(fù)雜工作流中關(guān)閉終端窗口可能只是最后一環(huán)。你可能需要錯(cuò)誤處理任務(wù)腳本失敗時(shí)是否還要關(guān)閉窗口你可能希望保持窗口打開以便查看錯(cuò)誤日志。可以在啟動(dòng)器腳本中根據(jù)任務(wù)腳本的退出狀態(tài)碼 ($?) 來決定。# 在啟動(dòng)器命令中 do script cd /path ./task.sh; if [ \$? -ne 0 ]; then echo 任務(wù)失敗窗口將保持打開。; else exit; fi通知提醒任務(wù)完成后除了關(guān)閉窗口還可以發(fā)送系統(tǒng)通知。# 在任務(wù)腳本末尾或啟動(dòng)器邏輯中 osascript -e display notification 自動(dòng)化部署已完成 with title 任務(wù)狀態(tài) sound name Glass日志記錄將新終端窗口的所有輸出重定向到日志文件這樣即使窗口關(guān)閉也有記錄可查。# 在啟動(dòng)器命令中 LOG_FILE/tmp/auto_task_$(date %Y%m%d_%H%M%S).log do script cd /path ./task.sh 21 | tee \${LOG_FILE}\; exit5.4 一個(gè)綜合性的、健壯的啟動(dòng)器模板結(jié)合以上所有經(jīng)驗(yàn)這里提供一個(gè)我認(rèn)為更健壯、功能更全面的啟動(dòng)器模板smart_launcher.sh#!/bin/bash # smart_launcher.sh - 智能終端任務(wù)啟動(dòng)器 set -euo pipefail # 啟用嚴(yán)格錯(cuò)誤處理 TARGET_SCRIPT${1:-} # 從第一個(gè)參數(shù)獲取任務(wù)腳本 SCRIPT_NAME$(basename $0) LOG_DIR${HOME}/logs/terminal_tasks mkdir -p $LOG_DIR TIMESTAMP$(date %Y%m%d_%H%M%S) LOG_FILE${LOG_DIR}/task_${TIMESTAMP}.log # 參數(shù)檢查 if [[ -z $TARGET_SCRIPT || ! -f $TARGET_SCRIPT ]]; then echo 錯(cuò)誤請(qǐng)指定一個(gè)有效的任務(wù)腳本路徑作為參數(shù)。 2 echo 用法: $SCRIPT_NAME /path/to/your_script.sh 2 exit 1 fi TARGET_SCRIPT_ABS$(cd $(dirname $TARGET_SCRIPT) pwd)/$(basename $TARGET_SCRIPT) WINDOW_TITLE自動(dòng)任務(wù): $(basename $TARGET_SCRIPT) $(date %H:%M:%S) echo “啟動(dòng)智能啟動(dòng)器任務(wù)腳本$TARGET_SCRIPT_ABS” echo “日志文件$LOG_FILE” # 構(gòu)建要在新終端中執(zhí)行的命令 # tee 命令同時(shí)輸出到屏幕和日志文件exit $? 確保窗口關(guān)閉時(shí)的退出碼與任務(wù)腳本一致。 CMDcd \$(dirname $TARGET_SCRIPT_ABS)\ echo 任務(wù)開始 \$TARGET_SCRIPT_ABS\ 21 | tee -a \$LOG_FILE\; EXIT_CODE\$?; echo \ 任務(wù)結(jié)束退出碼\$EXIT_CODE \; exit \$EXIT_CODE # 通過 osascript 執(zhí)行 osascript EOF tell application Terminal if it is running then -- 創(chuàng)建新窗口執(zhí)行命令 do script $CMD set newWin to front window set custom title of selected tab of newWin to $WINDOW_TITLE set background color of newWin to {30000, 30000, 30000} -- 灰色背景 set normal text color of newWin to {0, 0, 0} -- 黑色文字 -- 可選激活窗口搶焦點(diǎn) -- activate else -- 如果Terminal沒運(yùn)行先啟動(dòng)它 activate delay 1.0 -- 等待Terminal啟動(dòng) do script $CMD in window 1 set custom title of selected tab of front window to $WINDOW_TITLE end if end tell EOF echo “啟動(dòng)器執(zhí)行完畢。任務(wù)已在獨(dú)立終端窗口中運(yùn)行日志已保存?!边@個(gè)模板包含了參數(shù)檢查、日志記錄、錯(cuò)誤碼傳遞、窗口定制和邊緣情況處理Terminal未運(yùn)行是一個(gè)可以直接用于生產(chǎn)環(huán)境的實(shí)用腳本。使用時(shí)只需執(zhí)行./smart_launcher.sh /path/to/your_task.sh即可。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲av成人一区二区电影在线| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 台湾无码A片一区二区| 99九九精品| 白天AV月月| 另类激情五| 99热婷婷| 操91| 超碰成人电影| 日本激情91| 丁香伊人综合| 免费的日逼视频| 97操男人的天堂| 综合色播| 97人人操人人干| 五月丁香六月色婷婷| 99精吕视频在线观看了| www天天干| 五月天久久婷婷| 六月丁花香啪啪激情欧美| 婷婷97碰碰| 伊人久久婷婷五月天激情四射| 婷婷色在线播放| 国产亚洲精品AAAA片APP| av在线免费播放| www夜夜操comwww| 丁香综合婷婷开心激情网| 丁香五月婷婷操逼| 伊人成综合五月婷婷| 精品久久99| 性热视频99精品| 天堂五月婷婷| 教师性爱毛片| 六月婷婷天堂| www:99热视频| 综合久久六月| 色婷婷色情| 亚洲AV成人精品网站在线播放| 精品一二三区久久AAA片| www.精品99| 人妻操逼视频| 深爱激情综合| 伊人婷婷大香蕉| 天天视频亚洲| 久久精品性爱| 婷婷五月综合久久中文字幕| 黄色三级日本| 婷婷在线视频| 久久R激情| 精品一区二区三区四区五区六区| 国产真实乱了老女人视频| 99精品久久| AV网站免费在线| 久久精品这里只有精品免费首页| 青青草轻轻操| 综合久| 99热| 九九99偷拍视频| 中文字幕在线aⅴ免费观看| 亚洲无AV在线中文字幕| 天天肏天天舔AV| 欧美日本不卡黄色片| 美女婷婷激情亚洲| 99热99草97| 色婷婷丁香社综合| 婷婷五月激情网站| 五月花婷婷丁香| 丁香婷婷六月在线资源观看| 97欧美在线| 五月婷婷偷拍| 日产精品久久久久久久蜜臀 | 亚洲激情.com| 99啪啪视频| 丁香九月婷婷| 人碰人人人玩91| 好大好粗嗯啊-一级黄色大片免费观看-成人AV | 激情亭亭五月| 热99视频精品| 天天日天天干天天操| 99热这里是精品| 99热热这里只精品996小说| 超碰在线观看9| 91久久久久久久| 激情四射五月天| 99国产精品久久久久久久久久久| 五月丁香趴趴| 日本在线免费中文com.| 久久美女五月天| 色综合区| 99精品免费欧美小视频 | 91操网| 色欲色香综合网| 免费无码毛片一区二区A片| 亚洲情综合五月天| 日本99久久| 丁香五月日本| 大香蕉婷婷色| 久热精彩视频98| 爆乳熟妇一区二区三区爆乳| 国产精品久久久久久五月天加勒比| 五月激情网站| 国产乱妇乱子在线播视频播放网站| 好叼操在线观看| www.婷婷,com| 婷婷激情五月色综合| 六月丁香av| 欧美成人精品A片免费一区99 | 9l视频自拍9l九色9l成人| 激情q青青草在线婷婷| 婷婷激情五月天小说校园| 91九色中文字幕女在线观看| 色综合99色| 五月丁香手机在线| 97久久草草超级碰碰碰| 天天干天天操天天射| 日本熟女三区| 五月色丁香| 久久婷婷综合色丁香| 色八月婷婷| 九九热这里| 欧美黑人巨大性生话| 六月婷婷九月丁香| 99精品小视频| 丁香婷婷六月| 91精品国产综合久久密臀| 天天搡日日搡aaaaⅩ| 99精品视频免费观看近期发布| 五月久熟女| 区区欧美你爱| 97人碰人操| av大香蕉| 天天色天天日| 伊人春天av| 五月天丁香婷| 蜜桃婷婷狠狠久久| 日韩操逼大片| 色你久久| 激情另类综合| 这里只有精品视频222| 五月天色区| 天堂久久丁香| 99性爱视频网站| 亚洲成av人影院| 丁香五月天导航| 久久久噜噜噜久久人妻| 婷婷综合av| 丁香五月婷婷色播艳门照| 成人无码精品1区2区3区免费看| 色婷婷久久综合久色综| 黄色五月婷婷| 婷婷五月天受日本法律保护| 99热官网| 亚洲无码成人性爰网| 熟女激情五月天| 91色九| 久久99网| www.五月婷婷.com| 五月丁香偷拍| 六月五月久久丁香| 婷婷色综合网日韩国产| AV性爱在线| 六月丁香婷婷大香蕉| 99爱视频免费看| 伊人婷婷99热精品| 狠狠穞A片一區二區三區| 色www99| 一级操逼内射在线视频| 色香久久| 五月丁香婷婷综合| 艾小青av| 激情文学第四色婷婷丁香五月| 五月天精品视频| 99热欲| 99re8这里只有精品99re8热视频| 无码人妻电影| 国产小精品| 另类小说婷婷色| 大香蕉久久综合网| 在线网黄| 色性日本| 久婷| 丁香五月天堂婷婷| 97婷婷狠狠| 色婷婷久久| 亚洲九区| 五月婷婷五月丁香| 91操色| 免费无码毛片一区二区A片| 婷婷五月丁香五月天| 久久婷婷五月丁香蜜桃网| 日本 @ va 免费| 2020日日干| 超碰99热| 色色色色色网站| 亚洲 视频 导航 一区| 婷婷五月婷婷| 色五月婷婷在线观看| 综合激情肏逼网| 五月激情六月综合| 日日杆天天| 亚洲视频a| 人妻在线中文字幕久久| 五月丁香欧美综合| 在线视频九色97| 五月激情小说| 久久久99精品| 天天日天天狠狠操| 五月色亚洲| 天天干,夜夜爽| 激情婷婷五月基地| 热久久99视频| 91色色色| 久久婷婷激情久久| 色综合久久久综合久久网| 丁香五月婷婷六月丁香| 蜜臀嫩草| 天天粽合合合合| 国内久久亭亭| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 色色99| 婷婷综合玖玖五月| AV片一区在线观看| 欧美成人精品A片免费一区99| 99热这里只有精品66| 五月花婷婷在线精品视频| 日本高清不卡免费一区二区三区| 五月天成人综合| 99热色精品| 丁香色播五月天| 婷婷六月综合基地| 日韩操啪| 99精彩视频在线观看| 亚洲九区| 思思热视频在线| 久久久久婷| 久久婷婷亚洲五月天| 337p大胆噜噜噜噜噜91Av| 九九色情网五月天| 国洲夜色亚热在线久久| 亚洲中文乱字字幕在线永久| 精品无码99| 五月婷婷开心亚洲无| 97人人操人人拍| www.婷婷| 亚洲九九视频| 91久久1118| 五月婷婷中文| 久久久久人妻精选| 久久一热| 天天搞天天爽| 色 色 色综合com| 狠狠另类视频| 99热这里只有精品国产免费| www.91.com处女在线直播| 激情啪啪五月| 99re在线视频| 天天综合网91| 久久精品99| 欧美VA视频| 丁香av网| 黄色三级毛片中字| 玖玖色综合色| 丁香五月天堂婷婷| 99在线看视频| 99re资源在线视频导航| 五月天大香蕉av| 国产精品色色| 国产毛片欧美毛片久久久| 夜夜爱网站| 激情人妻综合| 91色婷婷综合久久中文字幕二区| 九九热黄色| AV性爱在线| 久热这里只有精品在线| 99久超碰| 色玖玖| 97亚洲婷婷| 日日杆天天| a久久免费视频| 天天综合网亚洲综合网| 激情综合五月婷婷| 97碰在线视频| 亚洲精品久久久无码 | 久久激情天堂| 五月色网| 亚洲精品又粗又大又爽A片| 777精品久无码人妻蜜桃| 五月丁香婷婷综合| 九月大香蕉| 九九99在线| 国产99久9在线| 无码橾| aaa久久| 超碰成人av| 亚洲激情在线| 国色天香伊人狠狠色| 天天摸天天日天天舔| 亚洲第79页| 五月综合婷婷五月| 丁香 婷婷 激情 综合 五月| 99热中国| 超碰九九热| 欧美日韩一区二区三区四区| 婷婷无五月无码视频| 日韩国产AV播放| 第1影院之五月婷婷| 五月丁香婷婷婷激情爱爱| 停停五月色宗合| 99热大香蕉| 天天色情站| www色中色综合| 五月婷视频在线| 人人播| 婷婷影院A成人| 9 9 9色色| 91操在线视频| 五月天激情综合10p| 99热这里有精力| 婷婷激情性爱| 色情综合网| 综合五月激情| 激情综合网丁香| 第一区久久网站| 射区导航| 免费在线a| 激情综合自拍五月婷婷色五月| 五月天婷婷在线观看精品男人| 婷婷五月天成人小说| 激情九月婷婷| 婷五月天| 色综合色综合色综合高潮| 五月婷婷婷婷网| 香蕉综合网| 99热8在线| 99日在线视频| 99噜噜噜在线播放| 五月婷婷色影院| 狠狠色综合网站| 婷婷丁香花五月天| 色九综合| 五月天婷婷影院影院观看| 这里只有精品1| 月丁香久久久| 俺去也在线www色官网| 91丨九色丨东北熟女| 亚洲最大视频网站| 免费视频这里只有精品| 亚洲宗合激情| 丁香五月宝贝激情网| 亚洲精品影视| 激情婷婷五月| 激情久久久久久| 国产原创视频91九色| 激情五月天在线观看色婷婷| 免费亚洲婷婷中文字幕| WWW免费视频碰碰碰碰| 丁香五月天激情小说| 亚洲天堂99| 骚五月婷婷| 六月合五月婷| 影音先锋综合网| 99国产性感视频| www.99色| 丁香婷婷五月天亚洲| 新97人人上人人| 99ri在线播放| 激情图片婷婷| 大香蕉久热| 97色色综合| www五月婷婷88导航| 888精品福利地址| 超碰人人操人人干| 噜噜噜噜婷婷五月天| 9l视频自拍9l九色9l成人| 成人 AV播放| 五月天婷爱综合| 色色99| 丁香五月天激情网址| 久操婷婷| 亚洲精99| www久久久久久久久久久| 色五月 激情婷婷 综合五月天| 日本色婷婷| 久久综合九九| 色五月婷婷影院| 久久婷五月天| 欧美成人猛片AAAAAAA| 激情AV| 夜夜夜夜夜操| 襙比视频| 丁香五月www| 九九热在线观看视频| 欧美碰碰| 99在线热| 精品无码人妻一区| 综合一啪| 日日操夜夜爽| 婷婷色基地在线看| 五月丁香人妻| 色色色.com| 九九成人电影婷婷| 五月婷在线视频免费看| 综合久久影院| 亚洲人妻av伦理| 国产在线6| 97性视频| 欧美综合婷婷网| 久久加勤综合| 欧美精品啪啪| 丁香六月爱综合| 97涩婷婷| www.色五月| 第四色婷婷最爱| 97夫妻超碰| 99热这里有精力| www一起操| 97在线视频观看| 狠狠色婷婷六月激情网| 久草五月| 夜夜操狠狠操| 99性色| 91精品久久久久久久久| 成人深爱丁香五月| 亚洲AV另类| 天天影院色| 久热中文字幕在线线观看| 男女免费视频999| 婷婷五月天激情四射| www.26uuu.com亚洲电影| 97色图片中文字幕视频在线观看| 97碰碰碰免费公开在线视频| 开心网五月色婷婷| 色综合色综合色综合高潮| 欧美综合五月天婷婷tin| 97五月天| 色天天综合成人网| 草操AV在线| 色五月综合| 五月婷亚洲精品| 丁香六月AV| 99碰碰中文| 狠狠操天天干| 999热在线视频| 性爱动图国产麻豆一区二区三区| 91日韩美女被插视频| 国产又粗又大又爽又黄| 秋霞AV淫| 婷婷情爱五月天6| 五月天激情黄色小说在线观看| 婷婷酒色网| 九九在线精点品| 丁香婷婷成人在线播放| 五月天开心色情网| 99 频99热国里只有精品| 色蜜婷婷| 久久婷婷的综合色丁香五月| av操B网站| 天天综合色| 超碰人人操在线| 色色色图| 婷五月丁香| 丁香五月天欧美成人| 综合99视频| 狠狠色噜噜色狠狠狠综合色| 欧美A片在线视频免费观看| 免费黄色片子| 五月亭亭直播| 99久久九九| 色五月偷偷| 99思思| 九九九九九九九九九九九九九九九九九九九在线视频| AV在线大香蕉| 激情另类综合| 九九激情综合| 国产玖玖资源| 天天插天天插天天插天天插| 婷婷色基地| 思思热这里只有精品视频666| 色综合丁香婷婷| 日韩伊人大香蕉| 色婷婷影视99| 久久五月婷婷视频| 色老久久| 97人人干人人操| 激情婷婷五月在线合集| 99碰在线视频| 超级黄色片| 大香蕉伊在| 日hao1区| 99热这里只有精品1025| 久去色色| 婷婷六月天精品| 色 丁香婷婷| 色噜噜狠狠色综合无码久久欧美| 六月婷婷之青青草| 婷婷久久欧美| 五月综亚洲| 玖操97| 婷婷五月天综合中文| 五月婷婷视频ab| 婷婷播播五月天| 色婷婷先锋| 天天色域综合网| 激情五月天婷婷五月天| 丁香六月啪| 色99网| 九热视频| 亚洲黄色影视| 九九九午夜影院成人| 另类图片 五月激情| www.丁香五月| 一月婷婷色色| 激情五月激情综合网| 91.www综合| 丁香六月欧美| 99热最新地址在线| 激情小说婷婷五月| 思思热久久艹| 婷婷.com| 欧美五月婷婷| 色爱综合视频| 这里只有精品免费| 欧美在线视频99| 青吴乐视频| 色五月激情图片| 欧美色图天堂网色| 五月婷婷激情69| 日本激情五月天‘| 婷婷五月综合激情| 五月婷色丁香| 精品99久久久久成人网站免费| 69激情小说| 在线中文亚洲| 国产亚洲99久久精品| 五六月婷婷久久| 秋霞性爱AV| 激情五月婷婷中文字幕| 99热啪啪| 第1影院之五月婷婷| 只有精品在线观看| 日韩黄色电影| 婷婷久久综合| 97碰免费视频在线| 五月天国产婷婷精品视频在线| 婷婷色导航| 67194线路二在线观看| 色综合天堂| 天天爽天天做| 人人摸人人干| 五月婷激情影院| 99aese| 99爱视频在线| 在线你懂的亚洲欧| 夜夜干 夜夜操| 婷婷综合网| www,超碰| 五月婷六月| 久草热8精品视频在线观看 | 五月丁香六月情婷婷久久| 成人版视频在线观看| 欧美色片中文字幕久久久久| 色婷婷五月天激情| 五月天婷婷影院| 中文字幕天天干| 99色视频在线观看| 日日做A爰片久久毛片A片英语| 原琪琪色影院| 日本美女上人| 91人碰| 天天狠狠色| 99国产精品久久久久久久久久久 | 丁香六月亚洲综合| 2050人人操免费工开爱| 丁香五月综合图片在线观看| 久草A片| 久久精品综合色| 欧美五月丁香| www.色五月| 五月综合视频在线| 五月天激情综合网| 婷婷五月综合婷婷| 国产午夜成人AV在线播放| 久久丁香五月综合六月激情红杏视频| 婷婷色播婷婷| 9 1在线视频| 97色色色| 久久精品五月天| 射久久丁香五月| 久re热视频| 五月天狠狠| 久久五月婷6 9| 五月婷婷六月爱| 久久视频这里都是精品| 人人操AV| 五月丁香五月天现场视频| 9色在线| 久久婷婷五月草视频在线播放| 少妇性按摩无码中文A片| 亚洲精品乱码久久久久久按摩观| 一级黄色影片| 激情久久天天| 91在线看片| 精品久久久久久久人妻| 秋霞九九无码| 97五月天婷婷| 色婷久| 欧美天堂久久| 激情五月天婷婷直播| 色婷婷香蕉| 五月色导航| 99热每日| 色婷五月天激情| 婷婷天堂视频| 97久久超碰| 亚洲婷婷五月草久| 停停六月 综合| 婷婷九月激情网| 一起操最新网址| 久久丁香久久| 激情av| 婷婷五月天综合网| 日日婷婷不卡| www综合久久| 婷婷色中文字幕| 色必久悠悠影院| 91久久网站| 高清不卡一区| 99热777| 丁香五月天.com| 五月婷婷激情网| 思思热在线播放| 五月久久婷婷| www,久久久人人| 99热这| 天天干天天操天天爱| 久9无码视频| JAPANRCEP老熟妇乱子伦视频| 这里只有精品在线看| 丁香五月天激情四射网络不好 | 丁香五月婷婷综合91| 东京热免费视频| 激情五月天网页| 国产白丝在线一区| 不卡成人免费| 六月综合婷婷开心伊人| 五月婷婷之综合激情| 婷婷,五月天,丁香,第一| 99re在线免费视频| 少妇AB又爽又紧无码网站| 天天爽天天操| 亚洲激情色色| eeuss人妻| 欧美丁香五月| 91re色综合视频| 99色亚洲| 九九色图| 99久久大片| 亚洲综合激| 黄网在线观看免费| 久久久久久久久久久久久久久久久精典| 日韩 中文 欧美| 26uuu另类| 色五月xxx| 日本三久久| 色综合色婷色基地| 任你弄在线视频免费| 亚洲黄色影视| 九九这里都是精品| 夜夜躁婷婷AV| 人妻久久久久久| 天天精品视频在线观看视频| 99久久精| 大香蕉久| 色综合久久天天综合网| av在线免费网站| 久久久人人操A V| 婷婷丁香五月天综合在线日韩| 亭亭玉月丁香| 五月丁香综合中文| 9九色首页| 婷婷六月五月| 色五月婷婷少妇人妻| 嫩草AV久久伊人妇女超级A| 99九无网码| 熟女色色一区二区| www.色色色com| 亚洲成av人影院| 婷婷性爱| 色婷婷在线视频| 天天射影院| 色婷婷丁香五月| 婷婷性爱影院| 五月丁香亚洲校园欧美| 丁香六月婷婷久久综合八月| 丁香婷婷精品视频| 久热这里只有精品在线观看| 热无码A∨| 性婷婷| 国产丁香五月天婷婷| 丁香五月婷婷六月婷婷| 丁香六月 婷婷六月| wwW天天干| 五月婷婷伦理| 六月丁香啪啪| 免费AV黄在线播放| 国产精品在线视频| 亚洲色色色色| 亚洲视色| 五夜丁香| 亚洲丁香婷婷丁香五月天激情| 六月丁香五月婷婷| 婷婷综合五月天| 欧美熟女99| 五月婷丁香| A片试看120分钟做受图片| 无码字幕中文| 五月丁香婷婷激情影院欧美| 久操热线| 五月天婷婷久色| 亚洲五月天婷婷综合| 欧美婷婷成人| 综合激情五月天| 婷婷激情五月| 99九九99九九九视频精品| 亚洲免费av在线| 激情五月综合| 人人干Av| 色99自拍| 国产精产国品一二三在观看| 综合久久五| 色综色网| 久草五月婷婷| 操操操操操电影网| 狠狠综合| 99在线视频观看| 日本偷拍九九九| 五月婷婷色情| 激情五月,深深爱五月| 婷婷五月成人| 中文字幕网伦射乱中文| 色天使久久综合| 99热综合网| 26UUU亚洲欧美| 99小视频网站| www.日日夜夜.com| 91色欲综合| 激情桃色网 | 丁香五月天在线直播观看| 五月婷婷婷| 五月婷婷开心网| 国产免费性爱| 婷婷五月天堂| 2025天天操| 99热这里只有精品55| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看| 超碰国产av| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 久久精品系列| 六月丁香激情综合| 天天操婷婷| 91伦| 天天激情夜夜干| 操笔无码| 婷婷色影院| 久久五月天精品视频| www.91九色| 激情网婷婷婷| 综合五月天| 久久人人超| www.色婷婷.com| 国自产拍偷拍精品啪啪一区二区| 婷婷导航| 九九re精品视频在线观看| 高清a片基地| 蜜乳.comcom| 97在线精品| 色色色色色色色色色色色色色97| 五月天社区狠狠| www.狠狠操| a在线观看| 超碰色综合| 五月天综合在线网| 色一情一乱一乱一区91Av| 婷婷丁香五月综合| 日本少妇AA一级特黄大片| 天天插插天天| 国产探花一片区| 夜夜操天天爽| 超碰A V在线| 欧美综合五月丁香五月天| 男妓跪趴把舌头伸进我的嘴巴| 99色色爰| 99自拍视频在线| 啪啪啪丁香五月| 婷婷五月六月丁香综合| 婷婷丁香红五月91C| 色五月丁香激情视频| 亚洲五月天激情| 九九热九九热精品| 九九视频在线观看视频6 | 非洲一级AV| 97 A I色色| 玖玖玖婷婷婷| 丁香婷婷六月男男| 铁牛TV人妻| 色噜噜97视频在线观看| 婷婷久久五月天丁香| 日本一毛片| 久久九九爽| 色色色色色色色色网站| 色丁香综合影院| 色欲色欲久久宗合网| 五月天激情婷婷小说| 99精品综合| 五月亭亭六月天| 五月香蕉婷婷| 亚洲欧洲另类| 久久五月激情网| 婷婷九月久久| 日日干日日| -91九色大屁股| 欧美啪啪9| 亚洲综合字幕色色| 99精品视频在线观看| 久久 婷婷 五月天| 久久人妻精品| 少妇人妻凹凸视频| 亚洲成人av在线播放| 午夜激情婷婷| 99精品激情| 国产精品天天狠天天看| www.婷婷五月| 超碰国产在线| 免费无码毛片一区二区A片| 久久性爱视频久久性爱视频| 国产肏屄大片| 激情婷婷久久| 激情5月婷婷狠狠干| 婷婷狠狠青青| 婷婷五月天电影网| 日日狠夜夜狠| 丁香激情四射| 亚洲国产精品VA在线看黑人| 久久性爱网站| 狠狠爱综合网| 日本丁香五月| 亚洲激情亚洲激情| 婷婷五月欧美| 五月花免费视频| 9久热这里只有精品| A在线观看| 影音先锋美国A| 97欧美在线| 成人婷婷色五月天| 91女人18毛片水多国产| 色欲色香综合网| 日日肏天天操| 亚洲操操| 婷婷五月激情基地| 婷婷娌伦网| 五月丁香六月婷精品视频| 五月婷婷九九久久| 亚洲人人操| er99免费视频在线| 精品成人久久久久久久_一二三四视| 亚洲视频一区| 日本三级中国三级99人妇网站| 韩国天天婷婷| 六月丁香婷婷网| 五月天激情小说| AV在线资源| 亚洲成人人人操| 婷婷丁香五月激情图片| av九九| 狠狠色狠狠爱| 婷婷丁香综合网| 亚洲熟妇无码乱子AV电影| 丁香五月天婷婷中文| 久久激情综合| 成人丁香五月婷| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 91久久1118| 五月丁香婷婷成人网| 西瓜美女a片| 天天搞夜夜爽夜夜爽| 97色碰碰公开视频| 日本精品人妻无码77777| 丁香五月天激情| 婷婷五月激情视频在线| 激情婷婷丁香色情五月天| 欧美内射AA| 2017人人操| 九热久| 国产高清视频91九九九久久久| 亚洲五月天激情| 五月婷婷之综合激情| 亚洲综合激情五月| 日本AAAAAAAAAAAAAA片| 狠狠色狠狠鲁| 日本精品。999| 97在线干| 天天透天天干| 亚洲天堂九九九| 婷婷六月激情综合| 三人荫蒂添的好舒服A片| 99在线视频精品| 激情综合五月开心狠狠| 五月丁香六月婷婷无码| 色五月丁香伊人五月| 甈你aaaaa| 久久婷婷操| 人人综合五月人人婷婷| 手机AVAV天堂看网| 成人短视频在线| 国产成人av在线播放| 久久婷婷色综合| 99er6免费视频热播| 久热9| 肏日网在线看 | 国产成人综合电影| 三级毛片视频| 色五月婷婷在线| 超碰在线精品| 激情AV| 久久婷婷六月综合综合| 狠狠操狠狠爱| 91|疯狂丨高潮丨对白| 色五月 五月婷婷| 五月久久婷婷| 天天干 夜夜爽| av九九| 中国女人内射6XXXXX| 国产 码在线成人网站| 精品夜夜澡人妻无码AV| 丁香五月婷婷免费视频| 99在线精品免费视频| 97婷婷丁香五月天激情图片| 婷婷激情区| www夜夜操com| 五月天激情四射网站| 五月天精品视频| 97人人干| 国外亚洲成AV人片在线观看| 日韩99无码| 色一情一乱一乱一区9| 久久人人九九| 激情久久久| 五月丁香激情婷婷综合字幕| 中文字幕色色| 久久婷婷视频| 大香蕉AV电影在线| 99精品热视频| 精品99这里有| 99热这里只有精品无码| 99小视频网站| 五月天艹天天| 丁香五月天视频| 久99久视频| 伊人大综合| 色色九九五月天 | 激情综合网之激情五月| 人人人操97| 婷婷综合精品| 青草视频在线观看视频| 婷婷九月丁香天堂丁香天堂| 五月丁香六月在线欧美| 中文字幕久久一区二区三区| 久久综合影院 | 欧美婷婷日本| 天天干天天干天天干天天干天天干天天干天天| 日韩九九| 开心婷婷五月| 99re6在线视频精品免费| 超级碰碰视频无码| 亚洲性爱干干| 五月婷婷亚洲色视频| 狠狠爱综合网| WwW色婷婷| 日韩综合天堂| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 丁香五月激情啪啪啪| 同性gv国产精品一区二区| 99精品视频网| 五月丁香婷婷成人网| 天啪天啪天啪天啪| 99爱视频精品在线观看| 亚洲视色| 色色色网站| 日韩啊啊啊| 熟妇无码乱子成人精品| 国产五月天婷婷| 婷婷丁香五月精品| 香蕉婷婷| EEUSS鲁片一区二区三区| 国产 亚洲 在线| 五月天成人在线播放丁香| 五月成人网站| 五月丁香六月婷综合成人综合| 丁香五月天天久久综合小说| 无码九九| 91丁香五月| 在线亚洲综合| 色青青视频| 激情五月天网站| 丁香五月色五月| 99在线观看视频精品| 九九精品综合| 大香蕉七区| 蜜桃五月天| 色五月情| 国产99精品免费视频| 天天狠狠色综合| 三年高清大片免费观看国语| 九九热99精品| 婷婷色情六月| 五月婷婷黄色网址| 丁香色播五月天| 精品人妻一区| 99在线精品观看99| 中文字幕在线不卡| 国内一级精品| 激情五月天小说网| 亚洲成人中文字幕| 婷婷基地爱| 久9热插入| 婷婷五月骚厕所| 欧美日韩欧美| 狠狠五月天婷婷| 亚洲欧洲另类| 热久久77777| 久99| 婷婷综合网在线| 任你草| 欧美美女国产日韩一区二区久 | 激情丁香五月激情婷婷| 开心五月色婷婷综合开心网| 九月丁香婷婷综合激情| 热九九精品| 色五月之第四色| 欧美肉大捧一进一出免费视频| 亚洲网站观看视频| 色综合色色色色色| 嫩草AV久久伊人妇女超级A| 日韩黄黄| 538在线精品| 日本激情五月| 丁香五月婷婷老师网站| 色五月婷婷在线观看| 成人AV网站在线| 99狠狠| 婷婷伊人| 中文字幕在线免费观看视频| www.99热| 亚洲va综合va国产va中文| 成人五月天在线视频在线观看 | 99热爱爱干干日| 九九婷婷网五月天| 思思99精品视频在线观看| 97干在线观看视频| 性色人人爽| 久久99国产综合精品免费| 五月激情基地| 冬月かえでAV无码播放| 五月丁香成人| 99热精品在线播放观看| 岛国在线观看91| 色五月丁香五月天| 中文AV在线播放| 99热9| 婷婷六月视频| 婷婷爱爱蜜臀天天操| 丁香五月综合在线观看| 国产熟女大叫受不了| 五月丁香色色网| 婷婷六月伊人| 色五月婷婷影院| 五月丁香成人网| 天天综合影院| 婷婷的99视频网站| 国产毛片精品一区二区色欲黄A片| 婷婷色基地| 亚洲有码在线视频| 九月色婷婷综合| 色色爽爽天天| 伊人九九68| 丁香五月激情啪| 五月婷在线视频免费播放| 大香蕉伊人爱在线| 日本三级99人妇网站| 婷婷少妇激情| 天天舔天天摸天天透| 在线观看免费观看在线9久| 天天干夜晚夜操| 天天日综合网射| 91日精品| 日韩免费视频| 操日视频| 人人干Av| 精品久久99| 俺去婷婷 丁香| 碰碰91| 97婷婷五月| 激情图片久久| 色婷婷丁香五月| 五月婷婷激情久久| 九九热在视频| 国产做A爰片毛片A片美国| 深爱婷婷丁香五月激情| 色婷婷文字幕| 欧美性猛交99久久久久99按摩| 超碰猛烈的性猛交| 天堂草在线观| 91视频精品99| 久热视频97AV在线观看| 激情五月综合网| 国产精品色一哟哟| 五月婷婷色播视频| 99日精品视频| 激情婷婷99| 最近中文字幕2019视频1| 色婷婷网| 99人妻碰碰碰久久久久视| 99er6| 99色婷婷视频| 久久久久激情网| 婷婷六久久| 全部老头和老太XXXXX| 天天狠狠六月婷丁香影院| 337p午夜影院| 99免费成人网| 丁香啪啪| 99久久久| 色婷婷成人网| 综合另类视频| 亚洲妇女熟BBW| 激情又色又爽又黄的A片| 激情五月色婷婷| 国产9色在线/日韩| 五月婷婷久久久| 五月天婷婷基地| 俺去也婷婷| 婷婷五月花丁香| 丁香五月冃欧美| 婷婷五月中文字幕国产| 丁香五月综合福利视频导航| 欧美天天五月丁香免费观看| 色婷婷综合网| 国产激情视频在线观看| 人人综合久| 97干视频在线| 秋霞日本免费毛片A片| 性爱激情小说AV五月丁香花| 免费V片在线| 亚洲性爱AV| 丁香婷婷综合影院| 色婷婷狠狠18yy| 久久影视婷婷五月| 91精品国产综合久久久不卡电影| 性爱网五月婷婷| 8090在线影视少妇| 在线18av | Www.激情| 99在热线免费视频| 丁香婷婷色| 色色五月天丁香| 依人大香蕉| 免费看欧美成人A片无码| A片试看120分钟做受视频红杏 | 午夜丁香| 国产激情视频在线观看| 极品人妻VideOssS人妻| 亚洲最大五月六月丁香婷婷| 婷婷综合五月天激情| 五月婷婷色丁香| 天天操天天曰天天射| 色婷婷久久综| 亚洲中文字幕av| 欧美在线视频99| 色狠狠狠干| 精品99在线| 青草性爱视频| 99热九九在线| 丁香五月天在线观看| 日本狠狠干| 91ncom.色| 天堂中文国产| 激情综合五月| 大香蕉久久综合网| 三级99热| 免费AV在线| 五月丁香啪啪| 五月香六月婷| 精品爆操| 天天操比比| 激情婷婷狠狠干综合| 久久一伦| 秋霞性爱AV| 色六月丁香婷婷狠狠干| 丁香五月天在线| av中文在线| 99国产精品久久久久久久久久久| wwww.色婷婷| 久Se视频在线观看| 18av天堂| 综合成人小说婷婷| 天天色天天日| 91a片爽| 激情啪啪五月天| 婷婷五月天成人在线视频| 色五月天网| 久久免费操| 性生生活大片又黄又| 在线看黄色| 逼逼AV| 激情视频综合| 九九视频在线观看视频6| 久久久色情| av 一区三区四区| 成年人99热| 香蕉综合在线| 人人操9| 色情婷婷| 丁香五月天婷婷中文| 99热综合在线| 啪啪视频99| 五月 成人 婷婷| 五月天婷婷人妻| 五月成人网站| 夜精品无码A片一区二区蜜桃| 人人97碰| 人人操人人爱丁香五月| 国产美女无遮挡裸体毛片A片| 丁香五月 性爱| 99综合视频在线| 九九热re99re6在线精品| 日日夜夜狠狠| 九九色播五月丁香| 五月天激情网页| 色五月激情五月天| 久久色六月| 国产ava| 天天综合色综合| 激情五月丁香五月| 密视AV综合在线| 色婷婷黄色网络| 狠狠色综合网| 91传媒无码人妻精| 国产热精品| 五月丁香六月婷| 97人人看| 99热8| 97人人操人人拍| 五月激情丁香五月| 日本三级中国三级99| 六月丁香婷婷综合影院| 另类综合国产| 五月丁香久久| 色性综合| 久久99婷婷| 久久精品国产AV一区二区三区 | 色婷天天| 九九在线这里只有精品视频 | 99色综合| 欧美操我| 婷婷五月六月丁香综合| 成人免费黄色短视频|