<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8128204435429155560</id><updated>2026-03-09T15:16:37.985+08:00</updated><category term="General Programming"/><category term="osdev"/><category term="OS"/><category term="python"/><category term="embed"/><category term="Linux"/><category term="Mac OS X"/><category term="arm"/><category term="自製軟體"/><category term="windows"/><category term="多平台開發"/><category term="DevOPS"/><category term="qemu"/><category term="網頁應用程式"/><category term="C/Objective-C"/><category term="Cloud"/><category term="Network Programming"/><category term="django"/><category term="iOS Dev"/><category term="English"/><category term="3D Printing"/><category term="Arduino"/><category term="DIY維修類"/><category term="Go"/><category term="Javascript for apps"/><category term="NAS"/><category term="Nodejs"/><category term="Snow Leopard"/><category term="Vagrant"/><category term="VirtualBox"/><category term="automation"/><category term="超軟中文直式閱瀏器"/><category term="Book Reading"/><category term="GCP"/><category term="Juniper"/><category term="Linaro"/><category term="Network"/><category term="TroubleShooting"/><category term="VLC"/><category term="VPN"/><category term="Web"/><category term="bash"/><category term="security"/><category term="typescript"/><category term="video capture"/><category term="資料庫"/><category term="隨筆小記"/><title type='text'>超軟之家</title><subtitle type='html'>學然後知不足,教然後知困.知不足,然後能自反也;知困,然後能自強也.故曰:教學相長也 (禮記.學記)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>105</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-8963318392261081560</id><published>2026-03-06T20:10:00.005+08:00</published><updated>2026-03-06T23:17:01.474+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="網頁應用程式"/><category scheme="http://www.blogger.com/atom/ns#" term="自製軟體"/><title type='text'>Vibe coding 小工具 - Light Matrix Pixel Editor 輕量化 Web App</title><content type='html'>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEg4TqxhDfPaCr0zfxOma60WcZ50Hb12JtCYGdtpuEwRwo8DThZ7Wja_ULB9FnCIVU7ra3CtfWHqKxVIuPFMnFqgSiBfEpYfAQLG5Bs-RIWNc0jK2jm0WWkQzwNamHVT4FObXlVapp12twuQCuKgBTBX1jq6teNbeYEUYI9U1p0LyofFvElxz6N8zapFLRMH&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;899&quot; data-original-width=&quot;747&quot; height=&quot;346&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEg4TqxhDfPaCr0zfxOma60WcZ50Hb12JtCYGdtpuEwRwo8DThZ7Wja_ULB9FnCIVU7ra3CtfWHqKxVIuPFMnFqgSiBfEpYfAQLG5Bs-RIWNc0jK2jm0WWkQzwNamHVT4FObXlVapp12twuQCuKgBTBX1jq6teNbeYEUYI9U1p0LyofFvElxz6N8zapFLRMH=w287-h346&quot; width=&quot;287&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;這是一個非常實用的 Vibe coding 小工具力作，特別推薦給從事嵌入式開發或 LED 矩陣專案的設計師與工程師們！&lt;p&gt;&lt;/p&gt;&lt;p data-path-to-node=&quot;1&quot;&gt;這款 &lt;b data-index-in-node=&quot;3&quot; data-path-to-node=&quot;1&quot;&gt;Light Matrix Pixel Editor&lt;/b&gt; 是一個極輕量化、基於瀏覽器的像素藝術編輯器。它最大的優點是&lt;b data-index-in-node=&quot;58&quot; data-path-to-node=&quot;1&quot;&gt;完全無需安裝、沒有任何依賴項&lt;/b&gt;—電腦端(PC/Mac)只需下載並打開 HTML 檔案，即可在瀏覽器中開始繪製您的矩陣圖案。&lt;/p&gt;&lt;p data-path-to-node=&quot;2&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;2&quot;&gt;主要功能特色：&lt;/b&gt;&lt;/p&gt;&lt;ul data-path-to-node=&quot;3&quot;&gt;&lt;li&gt;&lt;p data-path-to-node=&quot;3,0,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;3,0,0&quot;&gt;專為 LED 矩陣設計：&lt;/b&gt; 直觀的網格編輯介面，完美模擬 LED 燈珠排列。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node=&quot;3,1,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;3,1,0&quot;&gt;靈活的尺寸設定：&lt;/b&gt; 可自定義像素矩陣的寬度與高度，適應各種不同規格的硬體。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node=&quot;3,2,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;3,2,0&quot;&gt;匯出與整合：&lt;/b&gt; 支援匯出Array為 HEX string，方便直接複製貼上到 Arduino、ESP32 或其他嵌入式專案的程式碼中。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node=&quot;3,3,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;3,3,0&quot;&gt;跨平台兼容：&lt;/b&gt; 無論在 Windows、macOS、Linux 還是行動裝置(受限)上的瀏覽器，都能順暢運行。(PS:在手機系統中與檔案相關功能無法使用)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p data-path-to-node=&quot;4&quot;&gt;這款工具極大簡化了 LED 點陣顯示圖案的設計流程，讓您專注於創意與內容的呈現，不再被複雜的軟體安裝與設定所困擾。&lt;/p&gt;&lt;p data-path-to-node=&quot;5&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;5&quot;&gt;GitHub 專案連結：&lt;/b&gt;&amp;nbsp;&lt;span style=&quot;white-space-collapse: preserve;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space-collapse: preserve;&quot;&gt;&lt;a href=&quot;https://github.com/benwei/ltmx-pixel-edit&quot;&gt;https://github.com/benwei/ltmx-pixel-edit&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;white-space-collapse: preserve;&quot;&gt;Live Demo：&lt;a href=&quot;https://ben.juluos.org/ltmx-pixel-edit-live-demo/ltmx-pixel-edit.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://ben.juluos.org/ltmx-pixel-edit-live-demo/ltmx-pixel-edit.html&lt;/a&gt;

&lt;/span&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;white-space-collapse: preserve;&quot;&gt;英文使用說明:&lt;/span&gt;&lt;/h4&gt;&lt;p&gt;&lt;/p&gt;&lt;p data-path-to-node=&quot;5&quot;&gt;&lt;span style=&quot;white-space-collapse: preserve;&quot;&gt;* &lt;a href=&quot;https://github.com/benwei/ltmx-pixel-edit/blob/main/USER-GUIDE.md&quot; target=&quot;_blank&quot;&gt;https://github.com/benwei/ltmx-pixel-edit/blob/main/USER-GUIDE.md
&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p data-path-to-node=&quot;5&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7&quot;&gt;快速使用指南：&lt;/b&gt;&lt;/p&gt;&lt;ol data-path-to-node=&quot;8&quot; start=&quot;1&quot;&gt;&lt;li&gt;&lt;p data-path-to-node=&quot;8,0,0&quot;&gt;下載專案中的&amp;nbsp;&lt;a href=&quot;https://ben.juluos.org/ltmx-pixel-edit-live-demo/ltmx-pixel-edit.html&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;ltmx-pixel-edit.html&lt;/a&gt;&amp;nbsp;檔案。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node=&quot;8,1,0&quot;&gt;用您的瀏覽器（Google Chrome, Firefox, Safari 等）打開它。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node=&quot;8,2,0&quot;&gt;設定您的矩陣尺寸，選擇顏色，開始繪圖！&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node=&quot;8,3,0&quot;&gt;完成後，點擊「Export」圖示按鈕，將生成的代碼整合到您的專案中。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p data-path-to-node=&quot;9&quot;&gt;如果您對這款小工具有任何建議或遇到問題，歡迎前往 GitHub 提交 Issue。希望這個工具能讓您的 LED 專案更輕鬆、更有趣！&lt;/p&gt;&lt;p data-path-to-node=&quot;10&quot;&gt;如果您覺得這個工具好用，別忘了給我的專案一個 ⭐ &lt;b data-index-in-node=&quot;25&quot; data-path-to-node=&quot;10&quot;&gt;Star&lt;/b&gt; 喔！感謝大家的支持！&lt;/p&gt;&lt;p data-path-to-node=&quot;11&quot;&gt;#PixelArtEditor #LEDMatrix #EmbeddedDevelopment #WebTool #VibeCoding #Arduino #ESP32 #OpenSource #HTML5 #Maker工具 #點陣圖編輯器&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/8963318392261081560/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/8963318392261081560' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/8963318392261081560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/8963318392261081560'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2026/03/vibe-coding-light-matrix-pixel-editor.html' title='Vibe coding 小工具 - Light Matrix Pixel Editor 輕量化 Web App'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEg4TqxhDfPaCr0zfxOma60WcZ50Hb12JtCYGdtpuEwRwo8DThZ7Wja_ULB9FnCIVU7ra3CtfWHqKxVIuPFMnFqgSiBfEpYfAQLG5Bs-RIWNc0jK2jm0WWkQzwNamHVT4FObXlVapp12twuQCuKgBTBX1jq6teNbeYEUYI9U1p0LyofFvElxz6N8zapFLRMH=s72-w287-h346-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-1990063768300809437</id><published>2026-02-25T11:25:00.002+08:00</published><updated>2026-02-25T11:28:34.579+08:00</updated><title type='text'>【Google 試算表教學】一鍵自動化：製作「快速插入帶格式新列」的自定義按鈕</title><content type='html'>&lt;p&gt;&lt;span face=&quot;&amp;quot;Google Sans&amp;quot;, sans-serif&quot; style=&quot;color: #1f1f1f;&quot;&gt;引言&lt;/span&gt;&lt;/p&gt;&lt;div _ngcontent-ng-c3760955854=&quot;&quot; aria-busy=&quot;false&quot; aria-live=&quot;polite&quot; class=&quot;markdown markdown-main-panel stronger enable-updated-hr-color preserve-whitespaces-in-response&quot; dir=&quot;ltr&quot; id=&quot;model-response-message-contentr_631ce4be8fc028f9&quot; inline-copy-host=&quot;&quot; style=&quot;--animation-duration: 400ms; --fade-animation-function: linear; animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; color: #1f1f1f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p data-path-to-node=&quot;5&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 16px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;在處理大量數據時，手動插入新列再重新調整格式（框線、底色、字體）總是讓人感到繁瑣。身為追求效率的工程師與數位創作者，我們需要更聰明的做法！今天將教大家如何利用 &lt;b data-index-in-node=&quot;80&quot; data-path-to-node=&quot;5&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Google Apps Script&lt;/b&gt;，製作一個可以「智慧偵測選取範圍」並「自動帶入樣式」的自定義按鈕，讓你的試算表進化為自動化工具。&lt;/p&gt;&lt;hr data-path-to-node=&quot;6&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(128, 128, 128) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot; /&gt;&lt;h3 data-path-to-node=&quot;7&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans&amp;quot;, sans-serif; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;🚀 核心功能介紹&lt;/h3&gt;&lt;p data-path-to-node=&quot;8&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;這套方案不僅能插入新列，最厲害的地方在於它會&lt;b data-index-in-node=&quot;22&quot; data-path-to-node=&quot;8&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;自動偵測你目前選取了幾列&lt;/b&gt;。&lt;/p&gt;&lt;ul data-path-to-node=&quot;9&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 16px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 27px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p data-path-to-node=&quot;9,0,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;9,0,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;選取 1 列&lt;/b&gt;：按一下按鈕，下方新增 1 列相同樣式的空白列。&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p data-path-to-node=&quot;9,1,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;9,1,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;選取 5 列&lt;/b&gt;：按一下按鈕，下方直接新增 5 列相同樣式的空白列。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr data-path-to-node=&quot;10&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(128, 128, 128) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot; /&gt;&lt;h3 data-path-to-node=&quot;11&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans&amp;quot;, sans-serif; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;第一步：撰寫自動化腳本 (Apps Script)&lt;/h3&gt;&lt;p data-path-to-node=&quot;12&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 16px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;首先，我們要賦予試算表「智慧」。請在 Google 試算表中點選 &lt;b data-index-in-node=&quot;33&quot; data-path-to-node=&quot;12&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;「延伸功能」 &amp;gt; 「Apps Script」&lt;/b&gt;，並貼入以下程式碼：&lt;/p&gt;&lt;response-element ng-version=&quot;0.0.0-PLACEHOLDER&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;code-block _nghost-ng-c4240735383=&quot;&quot; class=&quot;ng-tns-c4240735383-47 ng-star-inserted&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;!----&gt;&lt;!----&gt;&lt;div _ngcontent-ng-c4240735383=&quot;&quot; class=&quot;code-block ng-tns-c4240735383-47 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation&quot; data-hveid=&quot;0&quot; data-ved=&quot;0CAAQhtANahcKEwjW4q2B0POSAxUAAAAAHQAAAAAQaA&quot; decode-data-ved=&quot;1&quot; jslog=&quot;223238;track:impression,attention;BardVeMetadataKey:[[&amp;quot;r_631ce4be8fc028f9&amp;quot;,&amp;quot;c_6d9a98f682e3bb73&amp;quot;,null,&amp;quot;rc_c16ddcf12e6184b8&amp;quot;,null,null,&amp;quot;zh-Hant&amp;quot;,null,1,null,null,1,0]]&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: 0px; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 16px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: relative; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;div _ngcontent-ng-c4240735383=&quot;&quot; class=&quot;code-block-decoration header-formatted gds-title-s ng-tns-c4240735383-47 ng-star-inserted&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(240, 244, 249); border: 0px none rgb(68, 71, 70); clear: none; clip: auto; color: #444746; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: flex; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: -16px auto auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 2px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 2px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(68, 71, 70) none 0px; overlay: none; padding: 8px 8px 8px 16px; page: auto; perspective: none; position: sticky; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;span _ngcontent-ng-c4240735383=&quot;&quot; class=&quot;ng-tns-c4240735383-47&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(68, 71, 70); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: block; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(68, 71, 70) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;JavaScript&lt;/span&gt;&lt;/div&gt;&lt;!----&gt;&lt;div _ngcontent-ng-c4240735383=&quot;&quot; class=&quot;formatted-code-block-internal-container ng-tns-c4240735383-47&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(240, 244, 249); border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;div _ngcontent-ng-c4240735383=&quot;&quot; class=&quot;animated-opacity ng-tns-c4240735383-47&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;pre _ngcontent-ng-c4240735383=&quot;&quot; class=&quot;ng-tns-c4240735383-47&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;code _ngcontent-ng-c4240735383=&quot;&quot; class=&quot;code-container formatted ng-tns-c4240735383-47&quot; data-test-id=&quot;code-content&quot; role=&quot;text&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(68, 71, 70); clear: none; clip: auto; color: #444746; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: block; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(68, 71, 70) none 0px; overlay: none; padding: 16px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(95, 99, 104); clear: none; clip: auto; color: #5f6368; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(95, 99, 104) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;/**
 * 功能：智慧插入新列並自動套用選取範圍的格式
 */&lt;/span&gt;
&lt;span class=&quot;hljs-function&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(68, 71, 70); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(68, 71, 70) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(132, 48, 206); clear: none; clip: auto; color: #8430ce; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(132, 48, 206) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;hljs-title&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(153, 105, 0); clear: none; clip: auto; color: #996900; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(153, 105, 0) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;insertRowsWithStyle&lt;/span&gt;(&lt;span class=&quot;hljs-params&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(68, 71, 70); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(68, 71, 70) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;/span&gt;) &lt;/span&gt;{
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(132, 48, 206); clear: none; clip: auto; color: #8430ce; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(132, 48, 206) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;var&lt;/span&gt; ss = SpreadsheetApp.getActiveSpreadsheet();
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(132, 48, 206); clear: none; clip: auto; color: #8430ce; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(132, 48, 206) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;var&lt;/span&gt; sheet = ss.getActiveSheet();
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(132, 48, 206); clear: none; clip: auto; color: #8430ce; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(132, 48, 206) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;var&lt;/span&gt; range = sheet.getActiveRange();
  
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(132, 48, 206); clear: none; clip: auto; color: #8430ce; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(132, 48, 206) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;var&lt;/span&gt; firstRow = range.getRow();
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(132, 48, 206); clear: none; clip: auto; color: #8430ce; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(132, 48, 206) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;var&lt;/span&gt; numRows = range.getNumRows(); &lt;span class=&quot;hljs-comment&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(95, 99, 104); clear: none; clip: auto; color: #5f6368; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(95, 99, 104) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;// 自動取得選取的列數&lt;/span&gt;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(132, 48, 206); clear: none; clip: auto; color: #8430ce; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(132, 48, 206) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;var&lt;/span&gt; lastColumn = sheet.getLastColumn();

  &lt;span class=&quot;hljs-comment&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(95, 99, 104); clear: none; clip: auto; color: #5f6368; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(95, 99, 104) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;// 1. 在選取範圍的下方插入相同數量的列&lt;/span&gt;
  sheet.insertRowsAfter(firstRow + numRows - &lt;span class=&quot;hljs-number&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(181, 89, 8); clear: none; clip: auto; color: #b55908; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(181, 89, 8) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;1&lt;/span&gt;, numRows);

  &lt;span class=&quot;hljs-comment&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(95, 99, 104); clear: none; clip: auto; color: #5f6368; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(95, 99, 104) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;// 2. 定義來源樣式範圍（你目前的樣板列）&lt;/span&gt;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(132, 48, 206); clear: none; clip: auto; color: #8430ce; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(132, 48, 206) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;var&lt;/span&gt; sourceRange = sheet.getRange(firstRow, &lt;span class=&quot;hljs-number&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(181, 89, 8); clear: none; clip: auto; color: #b55908; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(181, 89, 8) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;1&lt;/span&gt;, numRows, lastColumn);
  
  &lt;span class=&quot;hljs-comment&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(95, 99, 104); clear: none; clip: auto; color: #5f6368; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(95, 99, 104) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;// 3. 定義目標範圍（剛產生的空白列）&lt;/span&gt;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(132, 48, 206); clear: none; clip: auto; color: #8430ce; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(132, 48, 206) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;var&lt;/span&gt; targetRange = sheet.getRange(firstRow + numRows, &lt;span class=&quot;hljs-number&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(181, 89, 8); clear: none; clip: auto; color: #b55908; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(181, 89, 8) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;1&lt;/span&gt;, numRows, lastColumn);

  &lt;span class=&quot;hljs-comment&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(95, 99, 104); clear: none; clip: auto; color: #5f6368; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(95, 99, 104) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;// 4. 僅複製格式（確保新列乾淨但漂亮）&lt;/span&gt;
  sourceRange.copyTo(targetRange, SpreadsheetApp.CopyPasteType.PASTE_FORMAT);
  
  &lt;span class=&quot;hljs-comment&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(95, 99, 104); clear: none; clip: auto; color: #5f6368; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(95, 99, 104) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;// 提示：若需要連公式一起複製，可取消下方代碼的註解&lt;/span&gt;
  &lt;span class=&quot;hljs-comment&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(95, 99, 104); clear: none; clip: auto; color: #5f6368; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(95, 99, 104) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;// sourceRange.copyTo(targetRange, SpreadsheetApp.CopyPasteType.PASTE_FORMULA);&lt;/span&gt;
}
&lt;/code&gt;&lt;/pre&gt;&lt;!----&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;!----&gt;&lt;!----&gt;&lt;/code-block&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/response-element&gt;&lt;hr data-path-to-node=&quot;14&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(128, 128, 128) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot; /&gt;&lt;h3 data-path-to-node=&quot;15&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans&amp;quot;, sans-serif; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;第二步：製作精美的 UI 自定義按鈕&lt;/h3&gt;&lt;p data-path-to-node=&quot;16&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;腳本寫好了，現在我們需要一個「實體按鈕」來觸發它：&lt;/p&gt;&lt;ol data-path-to-node=&quot;17&quot; start=&quot;1&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 16px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 28px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p data-path-to-node=&quot;17,0,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;17,0,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;插入圖形&lt;/b&gt;：點選選單 &lt;b data-index-in-node=&quot;10&quot; data-path-to-node=&quot;17,0,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;「插入」 &amp;gt; 「繪圖」&lt;/b&gt;。&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p data-path-to-node=&quot;17,1,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;17,1,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;設計按鈕&lt;/b&gt;：使用「圓角矩形」畫出一個按鈕，輸入文字如「新增樣版列」，並調整你喜歡的顏色。&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p data-path-to-node=&quot;17,2,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;17,2,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;放置按鈕&lt;/b&gt;：儲存後，將按鈕移動到標題列或&lt;b data-index-in-node=&quot;19&quot; data-path-to-node=&quot;17,2,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;凍結視窗區域&lt;/b&gt;，這樣無論怎麼捲動都找得到它。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr data-path-to-node=&quot;18&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(128, 128, 128) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot; /&gt;&lt;h3 data-path-to-node=&quot;19&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans&amp;quot;, sans-serif; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;第三步：將腳本「綁定」到按鈕&lt;/h3&gt;&lt;p data-path-to-node=&quot;20&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;這是最關鍵的一步，讓按鈕與程式碼連動：&lt;/p&gt;&lt;ol data-path-to-node=&quot;21&quot; start=&quot;1&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 16px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 28px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p data-path-to-node=&quot;21,0,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;對著按鈕點擊 &lt;b data-index-in-node=&quot;7&quot; data-path-to-node=&quot;21,0,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;右鍵&lt;/b&gt;（或點擊右上角的三個點 &lt;code data-index-in-node=&quot;21&quot; data-path-to-node=&quot;21,0,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(68, 71, 70); clear: none; clip: auto; color: #444746; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(68, 71, 70) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;⋮&lt;/code&gt;）。&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p data-path-to-node=&quot;21,1,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;選擇 &lt;b data-index-in-node=&quot;3&quot; data-path-to-node=&quot;21,1,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;「指派指令碼」 (Assign script)&lt;/b&gt;。&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p data-path-to-node=&quot;21,2,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;輸入函數名稱：&lt;code data-index-in-node=&quot;7&quot; data-path-to-node=&quot;21,2,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(68, 71, 70); clear: none; clip: auto; color: #444746; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(68, 71, 70) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;insertRowsWithStyle&lt;/code&gt; (注意大小寫需一致，且不需括號)。&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p data-path-to-node=&quot;21,3,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;21,3,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;完成！&lt;/b&gt; 第一次執行時，請記得點選「允許授權」。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr data-path-to-node=&quot;22&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(128, 128, 128) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot; /&gt;&lt;h3 data-path-to-node=&quot;23&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans&amp;quot;, sans-serif; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;💡 專家進階小技巧&lt;/h3&gt;&lt;blockquote data-path-to-node=&quot;24&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 16px; margin-left: 40px; margin-right: 40px; margin-top: 0px !important; margin: 0px 40px 16px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p data-path-to-node=&quot;24,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 16px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;24,0&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Q: 為什麼不直接用快捷鍵？&lt;/b&gt;&lt;/p&gt;&lt;p data-path-to-node=&quot;24,1&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 16px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;A: 雖然 &lt;code data-index-in-node=&quot;6&quot; data-path-to-node=&quot;24,1&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(68, 71, 70); clear: none; clip: auto; color: #444746; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(68, 71, 70) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Ctrl + Alt + Shift + =&lt;/code&gt; 可以插入列，但它無法精準地控制「僅貼上格式」或「跨工作表套用特定樣版」。透過自定義按鈕，你可以將這套邏輯封裝，甚至分享給協作同事使用，大大降低出錯率。&lt;/p&gt;&lt;/blockquote&gt;&lt;hr data-path-to-node=&quot;25&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(128, 128, 128) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot; /&gt;&lt;h3 data-path-to-node=&quot;26&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans&amp;quot;, sans-serif; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;結語&lt;/h3&gt;&lt;p data-path-to-node=&quot;27&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 16px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;透過簡單的幾行腳本，我們就能把機械式的操作變成一鍵完成。如果你在公司負責維護複雜的報表，這個小工具絕對會讓你成為辦公室裡的試算表專家！&lt;/p&gt;&lt;hr data-path-to-node=&quot;28&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(128, 128, 128) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot; /&gt;&lt;p data-path-to-node=&quot;29&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 16px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;29&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;覺得這篇文章實用嗎？&lt;/b&gt;&lt;/p&gt;&lt;p data-path-to-node=&quot;29&quot; style=&quot;animation: auto ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(31, 31, 31); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 16px; marker: none; mask-clip: border-box; mask-composite: add; mask-image: none; mask-mode: match-source; mask-origin: border-box; mask-repeat: repeat; mask-size: auto; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(31, 31, 31) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;歡迎將此網址分享給你的同事，或是留言告訴我，你還希望實現哪些自動化功能！&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/1990063768300809437/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/1990063768300809437' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/1990063768300809437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/1990063768300809437'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2026/02/google.html' title='【Google 試算表教學】一鍵自動化：製作「快速插入帶格式新列」的自定義按鈕'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-4539340478330660505</id><published>2025-03-31T23:00:00.001+08:00</published><updated>2025-04-01T01:06:37.487+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="GCP"/><title type='text'>BigQuery 筆記1 –  如何使用 bq 指令工具設定資料集(表)的到期時間</title><content type='html'>&lt;br /&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;筆記：如何使用 Google Cloud BiqQuery 的指令用法&lt;/h2&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;一、 設定資料集的效期&lt;/h3&gt;語法:&lt;br /&gt;bq update --default_table_expiration ttl_seconds  project_id:dataset&lt;br /&gt;&lt;br /&gt;說明:&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;ttl_seconds 最小可用值為 3600 秒 (即最短效期為1小時, 參閱範例 1)若要取消資料集預設效期僅需將 ttl_seconds 設定為0 即可 (範例 2)&lt;/li&gt;&lt;li&gt;default table expiration 設定僅適用於新建立的資料表，已存在的資料表會保持原設定狀態。若要修改已存資料表效期，請參閱＂二、設定資料表的效期＂&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;範例 1: set expiration 1 hours later to myDataset&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; &amp;nbsp; bq update --default_table_expiration 3600 myProject:myDataset&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;範例 2: disable expiration to myDataset&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; &amp;nbsp; bq update --default_table_expiration 0 myProject:myDataset&lt;/span&gt;&lt;br /&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;二、設定資料表的效期&lt;/h3&gt;語法:&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; &amp;nbsp; bq update --expiration=SECONS PROJECT:DATASET.TABLE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;範例 3: set expiration 2 hours later to myTable&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; &amp;nbsp; bq update --expiration 7200 myProject:myDataset.myTable&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;範例 4: disable expiration to myTable&lt;div&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; &amp;nbsp; bq update --expiration 0 myProject:myDataset.myTable&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;參考資料&lt;/h3&gt; &lt;a href=&quot;https://cloud.google.com/bigquery/docs/reference/bq-cli-reference&quot;&gt;&lt;/a&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://cloud.google.com/bigquery/docs/reference/bq-cli-reference&quot;&gt;&lt;/a&gt;&lt;li&gt;&lt;a href=&quot;https://cloud.google.com/bigquery/docs/reference/bq-cli-reference&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://cloud.google.com/bigquery/docs/reference/bq-cli-reference&quot;&gt;bq command-line tool reference&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/4539340478330660505/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/4539340478330660505' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/4539340478330660505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/4539340478330660505'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2025/04/bigquery-tip-1-bq.html' title='BigQuery 筆記1 –  如何使用 bq 指令工具設定資料集(表)的到期時間'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-5226626525845522816</id><published>2022-12-31T00:29:00.004+08:00</published><updated>2022-12-31T00:37:45.323+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Nodejs"/><category scheme="http://www.blogger.com/atom/ns#" term="typescript"/><title type='text'>Typescript beginning with ts-node</title><content type='html'>&lt;h1 class=&quot;mume-header&quot; id=&quot;install-nvm-first&quot; style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;Segoe UI&amp;quot;, Arial, freesans, sans-serif; font-size: 2.25em; font-variant-ligatures: normal; line-height: 1.2; margin-bottom: 16px; margin-top: 1em; orphans: 2; padding-bottom: 0.3em; text-decoration-thickness: initial; widows: 2;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #444444;&quot;&gt;Install nvm first&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;div&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #444444;&quot;&gt;&lt;a href=&quot;https://github.com/nvm-sh/nvm#installing-and-updating&quot;&gt;https://github.com/nvm-sh/nvm#installing-and-updating&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #444444;&quot;&gt;&lt;div style=&quot;color: black; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div style=&quot;line-height: 19px;&quot;&gt;&lt;div style=&quot;line-height: 19px;&quot;&gt;&lt;div style=&quot;line-height: 19px;&quot;&gt;&lt;pre class=&quot;code-active-line&quot; style=&quot;background-color: rgba(220, 220, 220, 0.4); border-radius: 3px; margin-top: 0px; overflow: auto; padding: 16px; white-space: pre-wrap;&quot;&gt;&lt;code class=&quot;code-line language-sh&quot; data-line=&quot;18&quot; dir=&quot;auto&quot; style=&quot;color: var(--vscode-editor-foreground); font-family: var(--vscode-editor-font-family, &amp;quot;SF Mono&amp;quot;, Monaco, Menlo, Consolas, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace); font-size: 1em; line-height: 1.357em; position: relative; tab-size: 4;&quot;&gt;curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #444444;&quot;&gt;&lt;h2 style=&quot;color: black; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;Segoe UI&amp;quot;, Arial, freesans, sans-serif; font-size: 2.25em; line-height: 1.2; margin-bottom: 16px; margin-top: 1em; padding-bottom: 0.3em; text-align: left;&quot;&gt;Example of install nvm&lt;/h2&gt;&lt;div&gt;&lt;pre class=&quot;code-active-line&quot; style=&quot;background-color: rgba(220, 220, 220, 0.4); border-radius: 3px; color: black; font-size: 14px; margin-top: 0px; overflow: auto; padding: 16px; white-space: pre-wrap;&quot;&gt;&lt;code class=&quot;code-line language-sh&quot; data-line=&quot;18&quot; dir=&quot;auto&quot; style=&quot;color: var(--vscode-editor-foreground); font-family: var(--vscode-editor-font-family, &amp;quot;SF Mono&amp;quot;, Monaco, Menlo, Consolas, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace); font-size: 1em; line-height: 1.357em; position: relative; tab-size: 4;&quot;&gt;~$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15916  100 15916    0     0  32283      0 --:--:-- --:--:-- --:--:-- 32283
=&amp;gt; Downloading nvm from git to &lt;span class=&quot;hljs-string&quot; style=&quot;color: #a31515;&quot;&gt;&#39;/home/ci/.nvm&#39;&lt;/span&gt;
=&amp;gt; Cloning into &lt;span class=&quot;hljs-string&quot; style=&quot;color: #a31515;&quot;&gt;&#39;/home/ci/.nvm&#39;&lt;/span&gt;...
remote: Enumerating objects: 358, &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: blue;&quot;&gt;done&lt;/span&gt;.
remote: Counting objects: 100% (358/358), &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: blue;&quot;&gt;done&lt;/span&gt;.
remote: Compressing objects: 100% (304/304), &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: blue;&quot;&gt;done&lt;/span&gt;.
remote: Total 358 (delta 41), reused 164 (delta 28), pack-reused 0
Receiving objects: 100% (358/358), 218.72 KiB | 1.40 MiB/s, &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: blue;&quot;&gt;done&lt;/span&gt;.
Resolving deltas: 100% (41/41), &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: blue;&quot;&gt;done&lt;/span&gt;.
* (HEAD detached at FETCH_HEAD)
  master
=&amp;gt; Compressing and cleaning up git repository

=&amp;gt; Appending nvm &lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #007acc;&quot;&gt;source&lt;/span&gt; string to /home/ci/.bashrc
=&amp;gt; Appending bash_completion &lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #007acc;&quot;&gt;source&lt;/span&gt; string to /home/ci/.bashrc
=&amp;gt; Close and reopen your terminal to start using nvm or run the following to use it now:

&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #007acc;&quot;&gt;export&lt;/span&gt; NVM_DIR=&lt;span class=&quot;hljs-string&quot; style=&quot;color: #a31515;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: green;&quot;&gt;$HOME&lt;/span&gt;/.nvm&quot;&lt;/span&gt;
[ -s &lt;span class=&quot;hljs-string&quot; style=&quot;color: #a31515;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: green;&quot;&gt;$NVM_DIR&lt;/span&gt;/nvm.sh&quot;&lt;/span&gt; ] &amp;amp;&amp;amp; \. &lt;span class=&quot;hljs-string&quot; style=&quot;color: #a31515;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: green;&quot;&gt;$NVM_DIR&lt;/span&gt;/nvm.sh&quot;&lt;/span&gt;  &lt;span class=&quot;hljs-comment&quot; style=&quot;color: green; font-style: italic;&quot;&gt;# This loads nvm&lt;/span&gt;
[ -s &lt;span class=&quot;hljs-string&quot; style=&quot;color: #a31515;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: green;&quot;&gt;$NVM_DIR&lt;/span&gt;/bash_completion&quot;&lt;/span&gt; ] &amp;amp;&amp;amp; \. &lt;span class=&quot;hljs-string&quot; style=&quot;color: #a31515;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: green;&quot;&gt;$NVM_DIR&lt;/span&gt;/bash_completion&quot;&lt;/span&gt;  &lt;span class=&quot;hljs-comment&quot; style=&quot;color: green; font-style: italic;&quot;&gt;# This loads nvm bash_completion&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p class=&quot;sync-line&quot; data-line=&quot;23&quot; style=&quot;background-color: #141414; color: #cccccc; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;Segoe UI&amp;quot;, Arial, freesans, sans-serif; font-size: 16px; font-variant-ligatures: normal; margin: 0px; orphans: 2; text-decoration-thickness: initial; widows: 2;&quot;&gt;&lt;/p&gt;&lt;h1 class=&quot;mume-header&quot; id=&quot;install-and-select-nodejs-version-by-nvm-command-line&quot; style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;Segoe UI&amp;quot;, Arial, freesans, sans-serif; font-size: 2.25em; font-variant-ligatures: normal; line-height: 1.2; margin-bottom: 16px; margin-top: 1em; orphans: 2; padding-bottom: 0.3em; text-decoration-thickness: initial; widows: 2;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Install and select Node.js version by nvm command line&lt;/span&gt;&lt;/h1&gt;&lt;p class=&quot;sync-line&quot; data-line=&quot;24&quot; style=&quot;background-color: #141414; color: #cccccc; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;Segoe UI&amp;quot;, Arial, freesans, sans-serif; font-size: 16px; font-variant-ligatures: normal; margin: 0px; orphans: 2; text-decoration-thickness: initial; widows: 2;&quot;&gt;&lt;/p&gt;&lt;pre class=&quot;language-bash&quot; data-info=&quot;sh&quot; data-role=&quot;codeBlock&quot; style=&quot;background-color: #27292c; border-radius: 3px; border: rgb(61, 61, 61); color: #c5c8c6; direction: ltr; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.85em; font-variant-ligatures: normal; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; orphans: 2; overflow: auto; padding: 1em; tab-size: 4; text-decoration-thickness: initial; widows: 2; word-break: normal;&quot;&gt;nvm &lt;span class=&quot;token function&quot; style=&quot;color: #ffd2a7;&quot;&gt;install&lt;/span&gt; v18&lt;/pre&gt;&lt;div&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;blockquote class=&quot;code-line&quot; data-line=&quot;44&quot; dir=&quot;auto&quot; style=&quot;background: var(--vscode-textBlockQuote-background); border-color: var(--vscode-textBlockQuote-border); border-left-style: solid; border-left-width: 5px; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe WPC&amp;quot;, &amp;quot;Segoe UI&amp;quot;, system-ui, Ubuntu, &amp;quot;Droid Sans&amp;quot;, sans-serif; font-size: 14px; margin: 0px 7px 0px 5px; padding: 0px 16px 0px 10px; position: relative;&quot;&gt;&lt;p class=&quot;code-line&quot; data-line=&quot;44&quot; dir=&quot;auto&quot; style=&quot;margin-bottom: 0.7em; margin-top: 0px; position: relative;&quot;&gt;Please logout and login again to activate nvm.sh shell environment&lt;/p&gt;&lt;/blockquote&gt;&lt;pre class=&quot;code-active-line&quot; style=&quot;background-color: rgba(220, 220, 220, 0.4); border-radius: 3px; font-size: 14px; margin-top: 0px; overflow: auto; padding: 16px; white-space: pre-wrap;&quot;&gt;&lt;code class=&quot;code-line language-sh&quot; data-line=&quot;46&quot; dir=&quot;auto&quot; style=&quot;color: var(--vscode-editor-foreground); font-family: var(--vscode-editor-font-family, &amp;quot;SF Mono&amp;quot;, Monaco, Menlo, Consolas, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace); font-size: 1em; line-height: 1.357em; position: relative; tab-size: 4;&quot;&gt;~$ nvm &lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #007acc;&quot;&gt;ls&lt;/span&gt;
            N/A
iojs -&amp;gt; N/A (default)
node -&amp;gt; stable (-&amp;gt; N/A) (default)
unstable -&amp;gt; N/A (default)
~$ nvm install v18
Downloading and installing node v18.12.1...
Downloading https://nodejs.org/dist/v18.12.1/node-v18.12.1-linux-x64.tar.xz...
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: green; font-style: italic;&quot;&gt;################################################################################################################################ 100.0%&lt;/span&gt;
Computing checksum with sha256sum
Checksums matched!
Now using node v18.12.1 (npm v8.19.2)
Creating default &lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #007acc;&quot;&gt;alias&lt;/span&gt;: default -&amp;gt; v18 (-&amp;gt; v18.12.1)
~$ nvm &lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #007acc;&quot;&gt;ls&lt;/span&gt;
-&amp;gt;     v18.12.1
default -&amp;gt; v18 (-&amp;gt; v18.12.1)
iojs -&amp;gt; N/A (default)
unstable -&amp;gt; N/A (default)
node -&amp;gt; stable (-&amp;gt; v18.12.1) (default)
stable -&amp;gt; 18.12 (-&amp;gt; v18.12.1) (default)
lts/* -&amp;gt; lts/hydrogen (-&amp;gt; v18.12.1)
lts/argon -&amp;gt; v4.9.1 (-&amp;gt; N/A)
lts/boron -&amp;gt; v6.17.1 (-&amp;gt; N/A)
lts/carbon -&amp;gt; v8.17.0 (-&amp;gt; N/A)
lts/dubnium -&amp;gt; v10.24.1 (-&amp;gt; N/A)
lts/erbium -&amp;gt; v12.22.12 (-&amp;gt; N/A)
lts/fermium -&amp;gt; v14.21.2 (-&amp;gt; N/A)
lts/gallium -&amp;gt; v16.19.0 (-&amp;gt; N/A)
lts/hydrogen -&amp;gt; v18.1&lt;/code&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/div&gt;&lt;h1 class=&quot;mume-header&quot; id=&quot;install-typescript&quot; style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;Segoe UI&amp;quot;, Arial, freesans, sans-serif; font-size: 2.25em; font-variant-ligatures: normal; line-height: 1.2; margin-bottom: 16px; margin-top: 1em; orphans: 2; padding-bottom: 0.3em; text-decoration-thickness: initial; widows: 2;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Install typescript&lt;/span&gt;&lt;/h1&gt;&lt;div&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;pre style=&quot;background-color: rgba(220, 220, 220, 0.4); border-radius: 3px; margin-top: 0px; overflow: auto; padding: 16px; white-space: pre-wrap;&quot;&gt;&lt;code class=&quot;code-line language-sh&quot; data-line=&quot;79&quot; dir=&quot;auto&quot; style=&quot;color: var(--vscode-editor-foreground); font-family: var(--vscode-editor-font-family, &amp;quot;SF Mono&amp;quot;, Monaco, Menlo, Consolas, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace); font-size: 1em; line-height: 1.357em; position: relative; tab-size: 4;&quot;&gt;~$ npm install -g typescript

added 1 package, and audited 2 packages &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: blue;&quot;&gt;in&lt;/span&gt; 2s

found 0 vulnerabilities
npm notice
npm notice New major version of npm available! 8.19.2 -&amp;gt; 9.2.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.2.0
npm notice Run npm install -g npm@9.2.0 to update!
npm notice
&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&quot;code-line&quot; data-line=&quot;92&quot; dir=&quot;auto&quot; id=&quot;install-typescript-with-specific-version&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe WPC&amp;quot;, &amp;quot;Segoe UI&amp;quot;, system-ui, Ubuntu, &amp;quot;Droid Sans&amp;quot;, sans-serif; font-weight: normal; margin-bottom: 0.2em; margin-top: 0px; position: relative; white-space: normal;&quot;&gt;install typescript with specific version&lt;/h2&gt;&lt;h3 class=&quot;code-line&quot; data-line=&quot;92&quot; dir=&quot;auto&quot; id=&quot;create-example-hellots-file&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe WPC&amp;quot;, &amp;quot;Segoe UI&amp;quot;, system-ui, Ubuntu, &amp;quot;Droid Sans&amp;quot;, sans-serif; font-weight: normal; margin-bottom: 0.2em; margin-top: 0px; position: relative; white-space: normal;&quot;&gt;&lt;pre style=&quot;background-color: rgba(220, 220, 220, 0.4); border-radius: 3px; font-size: 14px; margin-top: 0px; overflow: auto; padding: 16px; white-space: pre-wrap;&quot;&gt;&lt;code class=&quot;code-line language-sh&quot; data-line=&quot;94&quot; dir=&quot;auto&quot; style=&quot;color: var(--vscode-editor-foreground); font-family: var(--vscode-editor-font-family, &amp;quot;SF Mono&amp;quot;, Monaco, Menlo, Consolas, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace); font-size: 1em; line-height: 1.357em; position: relative; tab-size: 4;&quot;&gt;npm install -g typescript@4.6.4&lt;/code&gt;&lt;/pre&gt;&lt;/h3&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;Example of hello.ts&lt;/h1&gt;&lt;h3 class=&quot;code-line&quot; data-line=&quot;92&quot; dir=&quot;auto&quot; id=&quot;create-example-hellots-file&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe WPC&amp;quot;, &amp;quot;Segoe UI&amp;quot;, system-ui, Ubuntu, &amp;quot;Droid Sans&amp;quot;, sans-serif; font-weight: normal; margin-bottom: 0.2em; margin-top: 0px; position: relative; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;/h3&gt;&lt;h3 class=&quot;code-line&quot; data-line=&quot;92&quot; dir=&quot;auto&quot; id=&quot;create-example-hellots-file&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe WPC&amp;quot;, &amp;quot;Segoe UI&amp;quot;, system-ui, Ubuntu, &amp;quot;Droid Sans&amp;quot;, sans-serif; font-weight: normal; margin-bottom: 0.2em; margin-top: 0px; position: relative; white-space: normal;&quot;&gt;Create example hello.ts file&lt;/h3&gt;&lt;pre style=&quot;background-color: rgba(220, 220, 220, 0.4); border-radius: 3px; margin-top: 0px; overflow: auto; padding: 16px; white-space: pre-wrap;&quot;&gt;&lt;code class=&quot;code-line language-sh&quot; data-line=&quot;93&quot; dir=&quot;auto&quot; style=&quot;color: var(--vscode-editor-foreground); font-family: var(--vscode-editor-font-family, &amp;quot;SF Mono&amp;quot;, Monaco, Menlo, Consolas, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace); font-size: 1em; line-height: 1.357em; position: relative; tab-size: 4;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #007acc;&quot;&gt;cat&lt;/span&gt; &amp;lt;&amp;lt; &lt;span class=&quot;hljs-string&quot; style=&quot;color: #a31515;&quot;&gt;EOF &amp;gt;&amp;gt; hello.ts
var name:string = &quot;Coder of Typescript&quot;;
console.log(`Hello, ${name}`);
EOF&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 class=&quot;code-line&quot; data-line=&quot;99&quot; dir=&quot;auto&quot; id=&quot;results-of-hellots&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe WPC&amp;quot;, &amp;quot;Segoe UI&amp;quot;, system-ui, Ubuntu, &amp;quot;Droid Sans&amp;quot;, sans-serif; font-weight: normal; margin-bottom: 0.2em; margin-top: 0px; position: relative; white-space: normal;&quot;&gt;Results of hello.ts&lt;/h3&gt;&lt;pre class=&quot;code-active-line&quot; style=&quot;background-color: rgba(220, 220, 220, 0.4); border-radius: 3px; margin-top: 0px; overflow: auto; padding: 16px; white-space: pre-wrap;&quot;&gt;&lt;code class=&quot;code-line language-sh&quot; data-line=&quot;100&quot; dir=&quot;auto&quot; style=&quot;color: var(--vscode-editor-foreground); font-family: var(--vscode-editor-font-family, &amp;quot;SF Mono&amp;quot;, Monaco, Menlo, Consolas, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace); font-size: 1em; line-height: 1.357em; position: relative; tab-size: 4;&quot;&gt;~$ ts-node hello.ts
Hello, Coder&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div style=&quot;line-height: 19px;&quot;&gt;&lt;h1 class=&quot;code-line&quot; data-line=&quot;111&quot; dir=&quot;auto&quot; id=&quot;conclusions&quot; style=&quot;border-bottom: 1px solid rgba(0, 0, 0, 0.18); border-left-color: rgba(0, 0, 0, 0.18); border-right-color: rgba(0, 0, 0, 0.18); border-top-color: rgba(0, 0, 0, 0.18); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe WPC&amp;quot;, &amp;quot;Segoe UI&amp;quot;, system-ui, Ubuntu, &amp;quot;Droid Sans&amp;quot;, sans-serif; font-weight: normal; line-height: 1.2; margin-top: 0px; padding-bottom: 0.3em; position: relative; white-space: normal;&quot;&gt;Conclusions&lt;/h1&gt;&lt;p class=&quot;code-line code-active-line&quot; data-line=&quot;113&quot; dir=&quot;auto&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe WPC&amp;quot;, &amp;quot;Segoe UI&amp;quot;, system-ui, Ubuntu, &amp;quot;Droid Sans&amp;quot;, sans-serif; margin-bottom: 0.7em; margin-top: 0px; position: relative; white-space: normal;&quot;&gt;I considere that typescript is a good tool for nodejs to write more stable code. Enjoy The journal for Typescript writing!&lt;/p&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/5226626525845522816/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/5226626525845522816' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/5226626525845522816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/5226626525845522816'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2022/12/typescript-development-setup.html' title='Typescript beginning with ts-node'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-5079646292452416722</id><published>2021-07-28T00:58:00.006+08:00</published><updated>2021-07-29T01:18:32.845+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="DevOPS"/><title type='text'>ffmpeg 降低聲音品質來縮小 mp3 檔案大小</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style=&quot;orphans: 4;&quot;&gt;&lt;span face=&quot;Open Sans, Clear Sans, Helvetica Neue, Helvetica, Arial, sans-serif&quot; style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; caret-color: rgb(51, 51, 51); font-size: 36px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;目的縮小MP3檔案大小&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul cid=&quot;n87&quot; class=&quot;ul-list&quot; data-mark=&quot;*&quot; mdtype=&quot;list&quot; style=&quot;background-color: white; box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: &amp;quot;Open Sans&amp;quot;, &amp;quot;Clear Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; margin: 0.8em 0px; padding-left: 30px; position: relative;&quot;&gt;&lt;li cid=&quot;n90&quot; class=&quot;md-list-item&quot; mdtype=&quot;list_item&quot; style=&quot;box-sizing: border-box; margin: 0px; position: relative;&quot;&gt;&lt;p cid=&quot;n91&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;box-sizing: border-box; line-height: inherit; margin: 0px 0px 0.5rem; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;雙聲道改單聲道 &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li cid=&quot;n94&quot; class=&quot;md-list-item&quot; mdtype=&quot;list_item&quot; style=&quot;box-sizing: border-box; margin: 0px; position: relative;&quot;&gt;&lt;p cid=&quot;n92&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;box-sizing: border-box; line-height: inherit; margin: 0px 0px 0.5rem; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt; 範例為&lt;/span&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;音訊&lt;/span&gt;&lt;b style=&quot;color: #202122; font-family: sans-serif; font-size: 15.008px;&quot;&gt;位元速率(&lt;/b&gt;bitrate) 從 160 kb/s 降為 64 kb/s&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 cid=&quot;n115&quot; class=&quot;md-end-block md-heading&quot; mdtype=&quot;heading&quot; style=&quot;background-color: white; border-bottom-color: rgb(238, 238, 238); border-bottom-style: solid; border-bottom-width: 1px; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; break-after: avoid-page; break-inside: avoid; caret-color: rgb(51, 51, 51); color: #333333; cursor: text; font-family: &amp;quot;Open Sans&amp;quot;, &amp;quot;Clear Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 1.75em; line-height: 1.225; margin-bottom: 1rem; margin-top: 1rem; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;指令語法&lt;/span&gt;&lt;/h2&gt;&lt;pre cid=&quot;n116&quot; class=&quot;md-fences md-end-block ty-contain-cm modeLoaded&quot; lang=&quot;&quot; mdtype=&quot;fences&quot; spellcheck=&quot;false&quot; style=&quot;background-attachment: inherit; background-clip: inherit; background-color: #f8f8f8; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(231, 234, 237); box-sizing: border-box; break-inside: avoid; caret-color: rgb(51, 51, 51); color: #333333; font-family: var(--monospace); font-size: 0.9em; margin-bottom: 15px; margin-top: 15px; overflow: visible; padding: 8px 4px 6px; position: relative; white-space: normal; width: inherit;&quot;&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;ffmpeg -i &amp;lt;160k stereo filename&amp;gt;.mp3 -ac 1 -b:a 64k &amp;lt;output 64k mono filename&amp;gt;.mp3&lt;/span&gt;&lt;/pre&gt;&lt;p cid=&quot;n117&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;background-color: white; box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: &amp;quot;Open Sans&amp;quot;, &amp;quot;Clear Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; line-height: inherit; margin: 0.8em 0px; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;-ac &lt;/span&gt;&lt;span class=&quot;md-tag md-raw-inline&quot; face=&quot;var(--monospace)&quot; md-inline=&quot;tag&quot; spellcheck=&quot;false&quot; style=&quot;box-sizing: border-box; color: #a7a7a7; opacity: 1;&quot;&gt;&amp;lt;channels&amp;gt;&lt;/span&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;        設定音訊頻道數(set number of audio channels)  &lt;/span&gt;&lt;/p&gt;&lt;ul cid=&quot;n132&quot; class=&quot;ul-list&quot; data-mark=&quot;*&quot; mdtype=&quot;list&quot; style=&quot;background-color: white; box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: &amp;quot;Open Sans&amp;quot;, &amp;quot;Clear Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; margin: 0.8em 0px; padding-left: 30px; position: relative;&quot;&gt;&lt;li cid=&quot;n135&quot; class=&quot;md-list-item&quot; mdtype=&quot;list_item&quot; style=&quot;box-sizing: border-box; margin: 0px; position: relative;&quot;&gt;&lt;p cid=&quot;n136&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;box-sizing: border-box; line-height: inherit; margin: 0px 0px 0.5rem; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;1 表示單聲道(mono)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li cid=&quot;n141&quot; class=&quot;md-list-item&quot; mdtype=&quot;list_item&quot; style=&quot;box-sizing: border-box; margin: 0px; position: relative;&quot;&gt;&lt;p cid=&quot;n139&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;box-sizing: border-box; line-height: inherit; margin: 0px 0px 0.5rem; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;2 表示雙聲道(stereo)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p cid=&quot;n124&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;background-color: white; box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: &amp;quot;Open Sans&amp;quot;, &amp;quot;Clear Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; line-height: inherit; margin: 0.8em 0px; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;-b:a  &lt;/span&gt;&lt;span class=&quot;md-tag md-raw-inline&quot; face=&quot;var(--monospace)&quot; md-inline=&quot;tag&quot; spellcheck=&quot;false&quot; style=&quot;box-sizing: border-box; color: #a7a7a7; opacity: 1;&quot;&gt;&amp;lt;bitrate&amp;gt;&lt;/span&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;        音訊&lt;/span&gt;&lt;b style=&quot;color: #202122; font-family: sans-serif; font-size: 15.008px;&quot;&gt;位元速率(&lt;/b&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Bit_rate&quot; target=&quot;_blank&quot;&gt;bitrate&lt;/a&gt;)&lt;/p&gt;&lt;h2 cid=&quot;n98&quot; class=&quot;md-end-block md-heading&quot; mdtype=&quot;heading&quot; style=&quot;background-color: white; border-bottom-color: rgb(238, 238, 238); border-bottom-style: solid; border-bottom-width: 1px; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; break-after: avoid-page; break-inside: avoid; caret-color: rgb(51, 51, 51); color: #333333; cursor: text; font-family: &amp;quot;Open Sans&amp;quot;, &amp;quot;Clear Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 1.75em; line-height: 1.225; margin-bottom: 1rem; margin-top: 1rem; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;小結&lt;/span&gt;&lt;/h2&gt;&lt;p cid=&quot;n102&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;background-color: white; box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: &amp;quot;Open Sans&amp;quot;, &amp;quot;Clear Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; line-height: inherit; margin: 0.8em 0px; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;檔案大小縮小約為原來的 39.88% &lt;/span&gt;&lt;/p&gt;&lt;pre cid=&quot;n107&quot; class=&quot;md-fences md-end-block ty-contain-cm modeLoaded&quot; lang=&quot;bash&quot; mdtype=&quot;fences&quot; spellcheck=&quot;false&quot; style=&quot;background-attachment: inherit; background-clip: inherit; background-color: #f8f8f8; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(231, 234, 237); box-sizing: border-box; break-inside: avoid; caret-color: rgb(51, 51, 51); color: #333333; font-family: var(--monospace); font-size: 0.9em; margin-bottom: 15px; margin-top: 15px; overflow: visible; padding: 8px 4px 6px; position: relative; white-space: normal; width: inherit;&quot;&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;~&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: blue;&quot;&gt;$ python&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;Python&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;3&lt;/span&gt;.9.6 (default, Jun&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;29&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;2021&lt;/span&gt;,&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;04&lt;/span&gt;:45:03)&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;..&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&amp;gt;&amp;gt;&amp;gt; round(80973 /&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;203040&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;100&lt;/span&gt;,2)&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;39&lt;/span&gt;.88&lt;/span&gt;&lt;/pre&gt;&lt;h2 cid=&quot;n99&quot; class=&quot;md-end-block md-heading&quot; mdtype=&quot;heading&quot; style=&quot;background-color: white; border-bottom-color: rgb(238, 238, 238); border-bottom-style: solid; border-bottom-width: 1px; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; break-after: avoid-page; break-inside: avoid; caret-color: rgb(51, 51, 51); color: #333333; cursor: text; font-family: &amp;quot;Open Sans&amp;quot;, &amp;quot;Clear Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 1.75em; line-height: 1.225; margin-bottom: 1rem; margin-top: 1rem; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;執行指令範例&lt;/span&gt;&lt;/h2&gt;&lt;pre cid=&quot;n58&quot; class=&quot;md-fences md-end-block ty-contain-cm modeLoaded&quot; lang=&quot;bash&quot; mdtype=&quot;fences&quot; spellcheck=&quot;false&quot; style=&quot;background-attachment: inherit; background-clip: inherit; background-color: #f8f8f8; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(231, 234, 237); box-sizing: border-box; break-inside: avoid; caret-color: rgb(51, 51, 51); color: #333333; font-family: var(--monospace); font-size: 0.9em; margin-bottom: 15px; margin-top: 15px; overflow: visible; padding: 8px 4px 6px; position: relative; white-space: normal; width: inherit;&quot;&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: blue;&quot;&gt;$ ffmpeg&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #0000cc;&quot;&gt;-i&lt;/span&gt;&amp;nbsp;1_setup_160k_stereo.mp3&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #0000cc;&quot;&gt;-ac&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;1&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #0000cc;&quot;&gt;-b&lt;/span&gt;:a 64k 1_setup_64k_mono.mp3&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: blue;&quot;&gt;$ ffmpeg&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #0000cc;&quot;&gt;-i&lt;/span&gt;&amp;nbsp;1_setup_160k_stereo.mp3&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;Input&amp;nbsp;&lt;span class=&quot;cm-comment&quot; style=&quot;box-sizing: border-box; color: #aa5500;&quot;&gt;#0, mp3, from &#39;1_setup_160k_stereo.mp3&#39;:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;Duration:&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;00&lt;/span&gt;:00:10.12,&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #3300aa;&quot;&gt;start&lt;/span&gt;:&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;0&lt;/span&gt;.069063, bitrate:&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;160&lt;/span&gt;&amp;nbsp;kb/s&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&amp;nbsp; Stream&amp;nbsp;&lt;span class=&quot;cm-comment&quot; style=&quot;box-sizing: border-box; color: #aa5500;&quot;&gt;#0:0: Audio: mp3, 16000 Hz, stereo, fltp, 160 kb/s&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&amp;nbsp; Metadata:&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&amp;nbsp; &amp;nbsp; encoder &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : LAME3.98r&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span cm-text=&quot;&quot; style=&quot;box-sizing: border-box;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: blue;&quot;&gt;$ ffmpeg&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #0000cc;&quot;&gt;-i&lt;/span&gt;&amp;nbsp;1_setup_64k_mono.mp3&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;Input&amp;nbsp;&lt;span class=&quot;cm-comment&quot; style=&quot;box-sizing: border-box; color: #aa5500;&quot;&gt;#0, mp3, from 1_setup_64k_mono.mp3&#39;:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;Metadata:&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&amp;nbsp; encoder &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : Lavf58.45.100&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;Duration:&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;00&lt;/span&gt;:00:10.08,&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #3300aa;&quot;&gt;start&lt;/span&gt;:&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;0&lt;/span&gt;.069063, bitrate:&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;64&lt;/span&gt;&amp;nbsp;kb/s&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&amp;nbsp; Stream&amp;nbsp;&lt;span class=&quot;cm-comment&quot; style=&quot;box-sizing: border-box; color: #aa5500;&quot;&gt;#0:0: Audio: mp3, 16000 Hz, mono, fltp, 64 kb/s&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span cm-text=&quot;&quot; style=&quot;box-sizing: border-box;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span cm-text=&quot;&quot; style=&quot;box-sizing: border-box;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: blue;&quot;&gt;$ ls&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #0000cc;&quot;&gt;-la&lt;/span&gt;&amp;nbsp;1_setup*&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #0000cc;&quot;&gt;-rw-r--r--&lt;/span&gt;@&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;1&lt;/span&gt;&amp;nbsp;tester staff &amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;203040&lt;/span&gt;&amp;nbsp;Jul&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;24&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;18&lt;/span&gt;:38 1_setup_160k_stereo.mp3&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #0000cc;&quot;&gt;-rw-r--r--&lt;/span&gt;@&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;1&lt;/span&gt;&amp;nbsp;tester staff &amp;nbsp;&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;80973&lt;/span&gt;&amp;nbsp;Jul&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;24&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;18&lt;/span&gt;:43 1_setup_64k_mono.mp3&lt;/span&gt;&lt;/pre&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;div&gt;&lt;h2 cid=&quot;n269&quot; class=&quot;md-end-block md-heading md-focus&quot; mdtype=&quot;heading&quot; style=&quot;border-bottom-color: rgb(238, 238, 238); border-bottom-style: solid; border-bottom-width: 1px; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; break-after: avoid-page; break-inside: avoid; cursor: text; font-size: 1.75em; line-height: 1.225; margin-bottom: 1rem; margin-top: 1rem; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain md-expand&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;延伸閱讀&lt;/span&gt;&lt;/h2&gt;&lt;ul cid=&quot;n270&quot; class=&quot;ul-list&quot; data-mark=&quot;*&quot; mdtype=&quot;list&quot; style=&quot;box-sizing: border-box; margin: 0.8em 0px; padding-left: 30px; position: relative;&quot;&gt;&lt;li cid=&quot;n273&quot; class=&quot;md-list-item&quot; mdtype=&quot;list_item&quot; style=&quot;box-sizing: border-box; margin: 0px; position: relative;&quot;&gt;&lt;p cid=&quot;n274&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;box-sizing: border-box; line-height: inherit; margin: 0px 0px 0.5rem; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-meta-i-c md-link&quot; md-inline=&quot;link&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;a href=&quot;https://ben6.blogspot.com/2020/05/ffmpeg-mp4.html&quot; style=&quot;-webkit-user-drag: none; box-sizing: border-box; color: #4183c4; cursor: pointer;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;使用 ffmpeg 指令合併的多個MP4檔案&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/5079646292452416722/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/5079646292452416722' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/5079646292452416722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/5079646292452416722'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2021/07/ffmpeg-mp3.html' title='ffmpeg 降低聲音品質來縮小 mp3 檔案大小'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-8010239460486435198</id><published>2021-07-28T00:31:00.002+08:00</published><updated>2021-07-28T00:31:20.100+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>Dev Tips - command line snippets</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h1 cid=&quot;n0&quot; class=&quot;md-end-block md-heading md-focus&quot; mdtype=&quot;heading&quot; style=&quot;border-bottom-color: rgb(238, 238, 238); border-bottom-style: solid; border-bottom-width: 1px; box-sizing: border-box; break-after: avoid-page; break-inside: avoid; cursor: text; font-size: 2.25em; line-height: 1.2; margin-bottom: 1rem; margin-top: 1rem; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;Command - equal to ldd&lt;/span&gt;&lt;/h1&gt;&lt;pre cid=&quot;n35&quot; class=&quot;md-fences md-end-block ty-contain-cm modeLoaded&quot; lang=&quot;bash&quot; mdtype=&quot;fences&quot; spellcheck=&quot;false&quot; style=&quot;background-attachment: inherit; background-clip: inherit; background-color: #f8f8f8; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(231, 234, 237); box-sizing: border-box; break-inside: avoid; font-family: var(--monospace); font-size: 0.9em; margin-bottom: 15px; margin-top: 15px; overflow: visible; padding: 8px 4px 6px; position: relative !important; white-space: normal; width: inherit;&quot;&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;objdump&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #0000cc;&quot;&gt;-p&lt;/span&gt;&amp;nbsp;&amp;lt;path/to/program&amp;gt; |&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #3300aa;&quot;&gt;grep&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #0000cc;&quot;&gt;-i&lt;/span&gt;&amp;nbsp;needed&lt;/span&gt;&lt;/pre&gt;&lt;p cid=&quot;n37&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;box-sizing: border-box; line-height: inherit; margin: 0.8em 0px; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;/p&gt;&lt;h1 cid=&quot;n34&quot; class=&quot;md-end-block md-heading&quot; mdtype=&quot;heading&quot; style=&quot;border-bottom-color: rgb(238, 238, 238); border-bottom-style: solid; border-bottom-width: 1px; box-sizing: border-box; break-after: avoid-page; break-inside: avoid; cursor: text; font-size: 2.25em; line-height: 1.2; margin-bottom: 1rem; margin-top: 1rem; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;Command - while loop with date and sleep&lt;/span&gt;&lt;/h1&gt;&lt;pre cid=&quot;n2&quot; class=&quot;md-fences md-end-block ty-contain-cm modeLoaded&quot; lang=&quot;shell&quot; mdtype=&quot;fences&quot; spellcheck=&quot;false&quot; style=&quot;background-attachment: inherit; background-clip: inherit; background-color: #f8f8f8; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(231, 234, 237); box-sizing: border-box; break-inside: avoid; font-family: var(--monospace); font-size: 0.9em; margin-bottom: 15px; margin-top: 15px; overflow: visible; padding: 8px 4px 6px; position: relative !important; white-space: normal; width: inherit;&quot;&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-keyword&quot; style=&quot;box-sizing: border-box; color: #770088;&quot;&gt;while&lt;/span&gt;&amp;nbsp;[&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;1&lt;/span&gt;&amp;nbsp;] ;&amp;nbsp;&lt;span class=&quot;cm-keyword&quot; style=&quot;box-sizing: border-box; color: #770088;&quot;&gt;do&lt;/span&gt;&amp;nbsp;date&amp;nbsp;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box; color: #981a1a;&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #aa1111;&quot;&gt;&quot;%M:%S&quot;&lt;/span&gt;&amp;nbsp;;&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #3300aa;&quot;&gt;sleep&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #116644;&quot;&gt;1&lt;/span&gt;&amp;nbsp;;&amp;nbsp;&lt;span class=&quot;cm-keyword&quot; style=&quot;box-sizing: border-box; color: #770088;&quot;&gt;done&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p cid=&quot;n3&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;box-sizing: border-box; line-height: inherit; margin: 0.8em 0px; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;/p&gt;&lt;h1 cid=&quot;n4&quot; class=&quot;md-end-block md-heading&quot; mdtype=&quot;heading&quot; style=&quot;border-bottom-color: rgb(238, 238, 238); border-bottom-style: solid; border-bottom-width: 1px; box-sizing: border-box; break-after: avoid-page; break-inside: avoid; cursor: text; font-size: 2.25em; line-height: 1.2; margin-bottom: 1rem; margin-top: 1rem; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;Command - cp&lt;/span&gt;&lt;/h1&gt;&lt;p cid=&quot;n5&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;box-sizing: border-box; line-height: inherit; margin: 0.8em 0px; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;merge one folder to another folder&lt;/span&gt;&lt;/p&gt;&lt;p cid=&quot;n6&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;box-sizing: border-box; line-height: inherit; margin: 0.8em 0px; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;if file exists in &lt;/span&gt;&lt;span class=&quot;md-pair-s&quot; md-inline=&quot;code&quot; spellcheck=&quot;false&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;code style=&quot;background-color: #f3f4f4; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(231, 234, 237); box-sizing: border-box; font-family: var(--monospace); font-size: 0.9em; padding: 0px 2px;&quot;&gt;dummy_tmp&lt;/code&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;, it will replace by file in &lt;/span&gt;&lt;span class=&quot;md-pair-s&quot; md-inline=&quot;code&quot; spellcheck=&quot;false&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;code style=&quot;background-color: #f3f4f4; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(231, 234, 237); box-sizing: border-box; font-family: var(--monospace); font-size: 0.9em; padding: 0px 2px;&quot;&gt;origin_tmp&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre cid=&quot;n7&quot; class=&quot;md-fences md-end-block ty-contain-cm modeLoaded&quot; lang=&quot;bash&quot; mdtype=&quot;fences&quot; spellcheck=&quot;false&quot; style=&quot;background-attachment: inherit; background-clip: inherit; background-color: #f8f8f8; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(231, 234, 237); box-sizing: border-box; break-inside: avoid; font-family: var(--monospace); font-size: 0.9em; margin-bottom: 15px; margin-top: 15px; overflow: visible; padding: 8px 4px 6px; position: relative !important; white-space: normal; width: inherit;&quot;&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: blue;&quot;&gt;$ cp&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #0000cc;&quot;&gt;-RT&lt;/span&gt;&amp;nbsp;origin_tmp/ dummy_tmp/&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: blue;&quot;&gt;$ diff&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #0000cc;&quot;&gt;-ur&lt;/span&gt;&amp;nbsp;dummy_tmp origin_tmp&lt;/span&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/8010239460486435198/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/8010239460486435198' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/8010239460486435198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/8010239460486435198'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2021/07/dev-tips-command-line-snippets.html' title='Dev Tips - command line snippets'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-4941045897597434258</id><published>2021-07-14T23:41:00.005+08:00</published><updated>2021-07-14T23:41:49.147+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General Programming"/><title type='text'>Bash Tip - date 日期指令轉換 unix epoch time 範例</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;Command - date&lt;/h1&gt;&lt;div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Example 1 date - convert unix epoch timestamp to date string&lt;/h3&gt;&lt;pre cid=&quot;n9&quot; class=&quot;md-fences md-end-block ty-contain-cm modeLoaded&quot; lang=&quot;bash&quot; mdtype=&quot;fences&quot; spellcheck=&quot;false&quot; style=&quot;background-color: #333333; box-sizing: border-box; break-inside: avoid; caret-color: rgb(184, 191, 198); color: #b8bfc6; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 0.9rem; margin-bottom: 20px; margin-top: 0px; overflow: visible; padding: 10px 10px 10px 30px; position: relative !important; white-space: normal; width: inherit;&quot;&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: #8d8df0;&quot;&gt;$ date&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #7575e4;&quot;&gt;--date&lt;/span&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #d26b6b;&quot;&gt;&#39;@1617694020&#39;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;Tue&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;06&lt;/span&gt;&amp;nbsp;Apr&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;2021&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;07&lt;/span&gt;:27:00 AM UTC&lt;/span&gt;&lt;/pre&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Example 2 date - convert unix timestamp to custom formatted date string&lt;/h3&gt;&lt;div&gt;&lt;br /&gt;&lt;pre cid=&quot;n11&quot; class=&quot;md-fences md-end-block ty-contain-cm modeLoaded&quot; lang=&quot;bash&quot; mdtype=&quot;fences&quot; spellcheck=&quot;false&quot; style=&quot;background-color: #333333; box-sizing: border-box; break-inside: avoid; caret-color: rgb(184, 191, 198); color: #b8bfc6; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 0.9rem; margin-bottom: 20px; margin-top: 0px; overflow: visible; padding: 10px 10px 10px 30px; position: relative !important; white-space: normal; width: inherit;&quot;&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: #8d8df0;&quot;&gt;$ date&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #d26b6b;&quot;&gt;&quot;%Y-%m-%d %H:%m&quot;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #7575e4;&quot;&gt;--date&lt;/span&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #d26b6b;&quot;&gt;&#39;@1617694020&#39;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;2021&lt;/span&gt;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #7575e4;&quot;&gt;-04-06&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;07&lt;/span&gt;:04&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: #8d8df0;&quot;&gt;$ date&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #7575e4;&quot;&gt;--date&lt;/span&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #d26b6b;&quot;&gt;&#39;@1617694020.904&#39;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;Tue&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;06&lt;/span&gt;&amp;nbsp;Apr&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;2021&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;07&lt;/span&gt;:27:00 AM UTC&lt;/span&gt;&lt;/pre&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Example 3 date -- MacOS Mojave convert timestamp to date string&lt;/h3&gt;&lt;div&gt;&lt;br /&gt;&lt;pre cid=&quot;n13&quot; class=&quot;md-fences md-end-block ty-contain-cm modeLoaded&quot; lang=&quot;bash&quot; mdtype=&quot;fences&quot; spellcheck=&quot;false&quot; style=&quot;background-color: #333333; box-sizing: border-box; break-inside: avoid; caret-color: rgb(184, 191, 198); color: #b8bfc6; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 0.9rem; margin-bottom: 20px; margin-top: 0px; overflow: visible; padding: 10px 10px 10px 30px; position: relative !important; white-space: normal; width: inherit;&quot;&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-comment&quot; style=&quot;box-sizing: border-box; color: #da924a;&quot;&gt;## MacOS Mojave not support --date&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: #8d8df0;&quot;&gt;$ date&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #7575e4;&quot;&gt;--date&lt;/span&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #d26b6b;&quot;&gt;&#39;@1617694020.904&#39;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;date: illegal option&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #7575e4;&quot;&gt;--&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #7575e4;&quot;&gt;-&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;usage: date [-jnRu] [-d dst] [-r seconds] [-t west] [-v[&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;|-]val[ymwdHMS]] ...&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;format]&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-comment&quot; style=&quot;box-sizing: border-box; color: #da924a;&quot;&gt;## use -r to instead&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: #8d8df0;&quot;&gt;$ date&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #7575e4;&quot;&gt;-r&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;1625043610&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #d26b6b;&quot;&gt;&quot;%Y%m%d %H:%M:%S&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;20210630&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;17&lt;/span&gt;:00:10&lt;/span&gt;&lt;/pre&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/4941045897597434258/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/4941045897597434258' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/4941045897597434258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/4941045897597434258'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2021/07/bash-tip-date-unix-epoch-time.html' title='Bash Tip - date 日期指令轉換 unix epoch time 範例'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-2529401793416572655</id><published>2021-01-21T18:30:00.002+08:00</published><updated>2021-01-21T18:31:35.312+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>bash tips - 使用部分執行檔名來發出終止程式指令 terminate processes by partial process name</title><content type='html'>&lt;div&gt;&lt;p cid=&quot;n2&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;background-color: #fefefe; box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: Vollkorn, Palatino, Times; font-size: 19px; line-height: inherit; margin-bottom: 1rem; margin-top: 0px; orphans: 4; position: relative; text-align: justify; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain md-expand&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;在 Linux 系統中，時常會遇到需要終止執行中的程式，如果只有單一執行檔程式執行多個 Instances 時，可簡單使用下列指令例如：&lt;/span&gt;&lt;/p&gt;&lt;pre cid=&quot;n13&quot; class=&quot;md-fences md-end-block ty-contain-cm modeLoaded&quot; lang=&quot;bash&quot; mdtype=&quot;fences&quot; spellcheck=&quot;false&quot; style=&quot;background-attachment: inherit; background-clip: inherit; background-color: #fefefe; background-image: inherit; background-origin: inherit; background-size: inherit; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; break-inside: avoid; caret-color: rgb(51, 51, 51); color: #333333; font-family: Consolas, Menlo, Monaco, monospace, serif; font-size: 0.9rem; margin-bottom: 1.5em; margin-left: 1em; overflow: visible; padding-bottom: 8px; padding-left: 1em; padding-top: 6px; position: relative; white-space: normal; width: inherit;&quot;&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #3300aa;&quot;&gt;killall&lt;/span&gt;&amp;nbsp;&amp;lt;process name&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p cid=&quot;n15&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;background-color: #fefefe; box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: Vollkorn, Palatino, Times; font-size: 19px; line-height: inherit; margin-bottom: 1rem; margin-top: 0px; orphans: 4; position: relative; text-align: justify; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;但若是有多個 prefix 相同的程式就要分別指定&lt;/span&gt;&lt;/p&gt;&lt;pre cid=&quot;n20&quot; class=&quot;md-fences md-end-block ty-contain-cm modeLoaded&quot; lang=&quot;&quot; mdtype=&quot;fences&quot; spellcheck=&quot;false&quot; style=&quot;background-attachment: inherit; background-clip: inherit; background-color: #fefefe; background-image: inherit; background-origin: inherit; background-size: inherit; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; break-inside: avoid; caret-color: rgb(51, 51, 51); color: #333333; font-family: Consolas, Menlo, Monaco, monospace, serif; font-size: 0.9rem; margin-bottom: 1.5em; margin-left: 1em; overflow: visible; padding-bottom: 8px; padding-left: 1em; padding-top: 6px; position: relative; white-space: normal; width: inherit;&quot;&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #3300aa; font-size: 0.9rem;&quot;&gt;killall&lt;/span&gt;&lt;span style=&quot;font-size: 0.9rem;&quot;&gt;&amp;nbsp;&lt;/span&gt;test_a test_b test_c&lt;/span&gt;&lt;/pre&gt;&lt;p cid=&quot;n18&quot; class=&quot;md-end-block md-p md-focus&quot; mdtype=&quot;paragraph&quot; style=&quot;background-color: #fefefe; box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: Vollkorn, Palatino, Times; font-size: 19px; line-height: inherit; margin-bottom: 1rem; margin-top: 0px; orphans: 4; position: relative; text-align: justify; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;為了方便使用，初步寫一版可使用部分執行檔來終止程式的腳本，下例腳本是使用以下 /bin/sh 測試：&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;busybox v1.31&lt;/li&gt;&lt;li&gt;dash 0.5.8-2.10&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Script example&lt;/h3&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre cid=&quot;n167&quot; class=&quot;md-fences md-end-block ty-contain-cm modeLoaded&quot; lang=&quot;sh&quot; mdtype=&quot;fences&quot; spellcheck=&quot;false&quot; style=&quot;background-color: #333333; box-sizing: border-box; break-inside: avoid; caret-color: rgb(184, 191, 198); font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 0.9rem; margin-bottom: 20px; margin-top: 0px; overflow: visible; padding: 10px 10px 10px 30px; position: relative; white-space: normal; width: inherit;&quot;&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; color: #b8bfc6; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-meta&quot; style=&quot;box-sizing: border-box; color: #b7b3b3;&quot;&gt;#!/bin/sh&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; color: #b8bfc6; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: #8d8df0;&quot;&gt;pname&lt;/span&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #d26b6b;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: #8d8df0;&quot;&gt;$1&lt;/span&gt;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #d26b6b;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; color: #b8bfc6; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-keyword&quot; style=&quot;box-sizing: border-box; color: #c88fd0;&quot;&gt;if&lt;/span&gt;&amp;nbsp;[&amp;nbsp;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #d26b6b;&quot;&gt;&quot;x&lt;/span&gt;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: #8d8df0;&quot;&gt;$pname&lt;/span&gt;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #d26b6b;&quot;&gt;&quot;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;=&lt;/span&gt;&amp;nbsp;x ];&amp;nbsp;&lt;span class=&quot;cm-keyword&quot; style=&quot;box-sizing: border-box; color: #c88fd0;&quot;&gt;then&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; color: #b8bfc6; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-tab&quot; cm-text=&quot;	&quot; face=&quot;var(--monospace)&quot; role=&quot;presentation&quot; style=&quot;box-sizing: border-box; display: inline-block; position: relative;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;echo&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #d26b6b;&quot;&gt;&quot;syntax: &amp;lt;partial process name&amp;gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-keyword&quot; style=&quot;box-sizing: border-box; color: #c88fd0;&quot;&gt;； exit&lt;/span&gt;&lt;span style=&quot;color: #b8bfc6;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #b8bfc6;&quot;&gt;&amp;nbsp;；&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; color: #b8bfc6; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-keyword&quot; style=&quot;box-sizing: border-box; color: #c88fd0;&quot;&gt;fi&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; color: #b8bfc6; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;ps&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #7575e4;&quot;&gt;-a&lt;/span&gt;&amp;nbsp;|&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;grep&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #d26b6b;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: #8d8df0;&quot;&gt;$pname&lt;/span&gt;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #d26b6b;&quot;&gt;&quot;&lt;/span&gt;&amp;nbsp;| \&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; color: #b8bfc6; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;grep&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #7575e4;&quot;&gt;-v&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;grep&lt;/span&gt;&amp;nbsp;| \&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; color: #b8bfc6; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;sed&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #7575e4;&quot;&gt;-e&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #d26b6b;&quot;&gt;&quot;s/^[ ]*\([0-9][0-9]*\) .*&lt;/span&gt;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: #8d8df0;&quot;&gt;$/&lt;/span&gt;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #d26b6b;&quot;&gt;\1/g&quot;&lt;/span&gt;&amp;nbsp;| \&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; color: #b8bfc6; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-keyword&quot; style=&quot;box-sizing: border-box; color: #c88fd0;&quot;&gt;while&lt;/span&gt;&amp;nbsp;read pid ;&amp;nbsp;&lt;span class=&quot;cm-keyword&quot; style=&quot;box-sizing: border-box; color: #c88fd0;&quot;&gt;do&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;kill&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: #8d8df0;&quot;&gt;$pid&lt;/span&gt;&amp;nbsp;;&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;echo&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #d26b6b;&quot;&gt;&quot;terminate&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: #8d8df0;&quot;&gt;$pid&lt;/span&gt;&lt;span class=&quot;cm-string&quot; style=&quot;box-sizing: border-box; color: #d26b6b;&quot;&gt;&quot;&lt;/span&gt;&amp;nbsp;;&amp;nbsp;&lt;span class=&quot;cm-keyword&quot; style=&quot;box-sizing: border-box; color: #c88fd0;&quot;&gt;done&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;/div&gt;&lt;div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;&amp;nbsp;Test output&lt;/h4&gt;&lt;div&gt;&lt;pre cid=&quot;n170&quot; class=&quot;md-fences md-end-block ty-contain-cm modeLoaded&quot; lang=&quot;shell&quot; mdtype=&quot;fences&quot; spellcheck=&quot;false&quot; style=&quot;background-color: #333333; box-sizing: border-box; break-inside: avoid; caret-color: rgb(184, 191, 198); color: #b8bfc6; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 0.9rem; margin-bottom: 20px; margin-top: 0px; overflow: visible; padding: 10px 10px 10px 30px; position: relative; white-space: normal; width: inherit;&quot;&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;~&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: #8d8df0;&quot;&gt;$ sleep&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;86400&lt;/span&gt;&amp;nbsp;&amp;amp;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;[1]&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;2824&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;~&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: #8d8df0;&quot;&gt;$ sleep&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;86402&lt;/span&gt;&amp;nbsp;&amp;amp;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;[2]&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;2832&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span cm-text=&quot;&quot; style=&quot;box-sizing: border-box;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;sh 加上 -x 可除錯執行&lt;br /&gt;&lt;br /&gt;&lt;pre cid=&quot;n170&quot; class=&quot;md-fences md-end-block ty-contain-cm modeLoaded&quot; lang=&quot;shell&quot; mdtype=&quot;fences&quot; spellcheck=&quot;false&quot; style=&quot;background-color: #333333; box-sizing: border-box; break-inside: avoid; caret-color: rgb(184, 191, 198); color: #b8bfc6; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 0.9rem; margin-bottom: 20px; margin-top: 0px; overflow: visible; padding: 10px 10px 10px 30px; position: relative; white-space: normal; width: inherit;&quot;&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;~&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: #8d8df0;&quot;&gt;$ sh&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #7575e4;&quot;&gt;-x&lt;/span&gt;&amp;nbsp;terminate_pname.sh&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;sleep&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: #8d8df0;&quot;&gt;pname&lt;/span&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;sleep&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;&amp;nbsp;[ xsleep&amp;nbsp;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;=&lt;/span&gt;&amp;nbsp;x ]&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;ps&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #7575e4;&quot;&gt;-a&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;grep&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;sleep&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;grep&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #7575e4;&quot;&gt;-v&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;grep&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;sed&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-attribute&quot; style=&quot;box-sizing: border-box; color: #7575e4;&quot;&gt;-e&lt;/span&gt;&amp;nbsp;s/^[ ]*\([0-9][0-9]*\) .*&lt;span class=&quot;cm-def&quot; style=&quot;box-sizing: border-box; color: #8d8df0;&quot;&gt;$/&lt;/span&gt;\1/g&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;&amp;nbsp;read pid&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;kill&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;2824&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;echo&lt;/span&gt;&amp;nbsp;terminate&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;2824&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;terminate&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;2824&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;&amp;nbsp;read pid&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;kill&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;2832&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;echo&lt;/span&gt;&amp;nbsp;terminate&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;2832&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;terminate&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;2832&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;&amp;nbsp;read pid&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;[1]- Terminated &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;sleep&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;86400&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;[2]&lt;span class=&quot;cm-operator&quot; style=&quot;box-sizing: border-box;&quot;&gt;+&lt;/span&gt;&amp;nbsp;Terminated &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;cm-builtin&quot; style=&quot;box-sizing: border-box; color: #f3b3f8;&quot;&gt;sleep&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;cm-number&quot; style=&quot;box-sizing: border-box; color: #64ab8f;&quot;&gt;86402&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span role=&quot;presentation&quot; style=&quot;box-sizing: border-box; padding-right: 0.1px;&quot;&gt;&lt;span cm-text=&quot;&quot; style=&quot;box-sizing: border-box;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;md-plain md-expand&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;參考文章&lt;/span&gt;&lt;/h4&gt;&lt;ul cid=&quot;n105&quot; class=&quot;ul-list&quot; data-mark=&quot;-&quot; mdtype=&quot;list&quot; style=&quot;box-sizing: border-box; list-style: square; margin-bottom: 1.5rem; margin-top: 0px; padding: 0px 0px 0px 1.875rem; position: relative;&quot;&gt;&lt;li cid=&quot;n106&quot; class=&quot;md-list-item&quot; mdtype=&quot;list_item&quot; style=&quot;box-sizing: border-box; margin: 0px; position: relative;&quot;&gt;&lt;p cid=&quot;n107&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;box-sizing: border-box; line-height: inherit; margin: 0px 0px 0.5rem; orphans: 4; position: relative; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;&lt;span class=&quot;md-meta-i-c md-link&quot; md-inline=&quot;link&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;a href=&quot;https://ben6.blogspot.com/2019/09/bash.html&quot; spellcheck=&quot;false&quot; style=&quot;-webkit-user-drag: none; box-sizing: border-box; cursor: pointer; outline: 0px;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;阿班 Bash 常用指令範例&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li cid=&quot;n108&quot; class=&quot;md-list-item&quot; mdtype=&quot;list_item&quot; style=&quot;box-sizing: border-box; margin: 0px; position: relative;&quot;&gt;&lt;p cid=&quot;n109&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;box-sizing: border-box; line-height: inherit; margin: 0px 0px 0.5rem; orphans: 4; position: relative; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;&lt;span class=&quot;md-meta-i-c md-link&quot; md-inline=&quot;link&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;a href=&quot;https://ben6.blogspot.com/2019/02/bash-tip-use-bash-to-implement-like-cs.html&quot; spellcheck=&quot;false&quot; style=&quot;-webkit-user-drag: none; box-sizing: border-box; cursor: pointer; outline: 0px;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;Bash Tip - Use bash to implement like C&#39;s argc and argv&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li cid=&quot;n110&quot; class=&quot;md-list-item&quot; mdtype=&quot;list_item&quot; style=&quot;box-sizing: border-box; margin: 0px; position: relative;&quot;&gt;&lt;p cid=&quot;n111&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;box-sizing: border-box; line-height: inherit; margin: 0px 0px 0.5rem; orphans: 4; position: relative; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;&lt;span class=&quot;md-meta-i-c md-link&quot; md-inline=&quot;link&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;a href=&quot;https://ben6.blogspot.com/2019/03/run-command-with-multiple-arguments.html&quot; spellcheck=&quot;false&quot; style=&quot;-webkit-user-drag: none; box-sizing: border-box; cursor: pointer; outline: 0px;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;Bash Tip - Run Command with multiple arguments with ssh&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li cid=&quot;n112&quot; class=&quot;md-list-item&quot; mdtype=&quot;list_item&quot; style=&quot;box-sizing: border-box; margin: 0px; position: relative;&quot;&gt;&lt;p cid=&quot;n113&quot; class=&quot;md-end-block md-p&quot; mdtype=&quot;paragraph&quot; style=&quot;box-sizing: border-box; line-height: inherit; margin: 0px 0px 0.5rem; orphans: 4; position: relative; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;&lt;span class=&quot;md-meta-i-c md-link&quot; md-inline=&quot;link&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;a href=&quot;https://ben6.blogspot.com/2020/09/bash-tip.html&quot; spellcheck=&quot;false&quot; style=&quot;-webkit-user-drag: none; box-sizing: border-box; cursor: pointer; outline: 0px;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;Bash Tip - 單行取得目前腳本檔絕對路徑的方法&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/2529401793416572655/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/2529401793416572655' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/2529401793416572655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/2529401793416572655'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2021/01/bash-tips-terminate-processes-by.html' title='bash tips - 使用部分執行檔名來發出終止程式指令 terminate processes by partial process name'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-7745546230435729789</id><published>2020-12-23T01:18:00.002+08:00</published><updated>2020-12-23T01:20:23.817+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="DevOPS"/><category scheme="http://www.blogger.com/atom/ns#" term="隨筆小記"/><title type='text'>VMware Player  與Windows 10裝置及Credential Guard不相容問題</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;最近試玩&amp;nbsp; WSL2 之後，發現了 VM Player 無法正常啟動，發生下列錯誤：&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;VMware Player and Device/Credential Guard are not compatible. VMware Player can be run after disabling Device/Credential Guard. Please visit &lt;a href=&quot;http://www.vmware.com/go/turnoff_CG_DG&quot;&gt;http://www.vmware.com/go/turnoff_CG_DG&lt;/a&gt;&amp;nbsp;for mor details.&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;看了該 VMware 文件&amp;nbsp;&lt;a href=&quot;https://kb.vmware.com/s/article/2146361&quot; target=&quot;_blank&quot;&gt;VMware Workstation and Device/Credential Guard are not compatible&amp;nbsp;&amp;nbsp;error in VMware Workstation on Windows 10 host (2146361)&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQKMSCbnzOdsmkYXTt4xXraViqMVBRtONIfLIJ-rio5t-i8KQErR3_MI7nrW5F8lKjXyXYyINA58vs0edN8gRkElNpC4RV5TpRhs9Zkg_g5oTQwnHr7pzOynsB0ed2B8aqvYG84gHxGrer/s697/VMware_ubuntu_turnof_CG_DG.jpg&quot; style=&quot;display: block; padding: 1em 0px; text-align: center;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; data-original-height=&quot;524&quot; data-original-width=&quot;697&quot; height=&quot;301&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQKMSCbnzOdsmkYXTt4xXraViqMVBRtONIfLIJ-rio5t-i8KQErR3_MI7nrW5F8lKjXyXYyINA58vs0edN8gRkElNpC4RV5TpRhs9Zkg_g5oTQwnHr7pzOynsB0ed2B8aqvYG84gHxGrer/w400-h301/VMware_ubuntu_turnof_CG_DG.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;小結&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;這個問題主因是Windows 10 該功能有增加存取限制，在 Workstation 15.5.6 以上版本已修正該問題。&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;可到此連結下載15.5.7 版本 &lt;a href=&quot;https://my.vmware.com/en/web/vmware/downloads/details?downloadGroup=PLAYER-1557&amp;amp;productId=800&amp;amp;rPId=47861&quot;&gt;https://my.vmware.com/en/web/vmware/downloads/details?downloadGroup=PLAYER-1557&amp;amp;productId=800&amp;amp;rPId=47861&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/7745546230435729789/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/7745546230435729789' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/7745546230435729789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/7745546230435729789'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2020/12/vmware-player-windows-10credential-guard.html' title='VMware Player  與Windows 10裝置及Credential Guard不相容問題'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQKMSCbnzOdsmkYXTt4xXraViqMVBRtONIfLIJ-rio5t-i8KQErR3_MI7nrW5F8lKjXyXYyINA58vs0edN8gRkElNpC4RV5TpRhs9Zkg_g5oTQwnHr7pzOynsB0ed2B8aqvYG84gHxGrer/s72-w400-h301-c/VMware_ubuntu_turnof_CG_DG.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-7767391657712521223</id><published>2020-09-11T12:39:00.004+08:00</published><updated>2020-09-11T12:56:11.814+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General Programming"/><title type='text'>Bash Tip - 單行取得目前腳本檔絕對路徑的方法</title><content type='html'>&lt;h2&gt;Bash Tip - 單行取得目前腳本檔絕對路徑的方法&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;_t=&amp;quot;${0%%`basename $0`}&amp;quot;; cd &amp;quot;$_t&amp;quot; ; sh_abs_path=`pwd`; echo &amp;quot;$sh_abs_path&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;執行範例&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;先將上列單行指令寫入到檔案&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;## 建立測試目錄
~$ mkdir -p /tmp/abspath_demo
## 將單行指令寫入到 demo.sh
~$ echo &#39;_t=&amp;quot;${0%%`basename $0`}&amp;quot;; cd &amp;quot;$_t&amp;quot; ; sh_abs_path=`pwd`; echo &amp;quot;$sh_abs_path&amp;quot;&#39; &amp;gt;  \
   /tmp/abspath_demo/demo.sh

&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;執行 demo.sh&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;~$ sh &amp;quot;/tmp/abspath_demo/demo.sh&amp;quot;
/tmp/abspath_demo
&lt;/code&gt;&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/7767391657712521223/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/7767391657712521223' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/7767391657712521223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/7767391657712521223'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2020/09/bash-tip.html' title='Bash Tip - 單行取得目前腳本檔絕對路徑的方法'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-3108233174677510848</id><published>2020-07-28T13:55:00.005+08:00</published><updated>2020-07-28T18:22:53.206+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Mac OS X"/><title type='text'>MacOS Tips - Command Lines</title><content type='html'>&lt;br /&gt;
&lt;h3&gt;
OSX 終端機使用指含播放 mp3 檔案的方法&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;使用 afplay&amp;nbsp;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;afplay &amp;lt;mp3 filename&amp;gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;/span&gt;語法說明&lt;br /&gt;&lt;div class=&quot;p2&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;div style=&quot;background-color: #eeeeff; border: 1px solid black; overflow: auto; padding: 10px; width: 522.391px;&quot;&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;$ afplay -h&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; &amp;nbsp; Audio File Play&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; &amp;nbsp; Version: 2.0&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; &amp;nbsp; Copyright 2003-2013, Apple Inc. All Rights Reserved.&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; &amp;nbsp; Specify -h (-help) for command options&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;Usage:&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;afplay [option...] audio_file&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;Options: (may appear before or after arguments)&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; {-v | --volume} VOLUME&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; &amp;nbsp; set the volume for playback of the file&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; {-h | --help}&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; &amp;nbsp; print help&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; { --leaks}&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; &amp;nbsp; run leaks analysis&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; {-t | --time} TIME&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; &amp;nbsp; play for TIME seconds&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; {-r | --rate} RATE&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; &amp;nbsp; play at playback rate&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; {-q | --rQuality} QUALITY&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; &amp;nbsp; set the quality used for rate-scaled playback (default is 0 - low quality, 1 - high quality)&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; {-d | --debug}&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;font face=&quot;helvetica neue&quot; size=&quot;1&quot;&gt;&amp;nbsp; &amp;nbsp; debug print output&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/3108233174677510848/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/3108233174677510848' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/3108233174677510848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/3108233174677510848'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2020/07/macos-tips-command-lines.html' title='MacOS Tips - Command Lines'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-7718634600790029397</id><published>2020-05-25T14:51:00.004+08:00</published><updated>2020-07-28T13:52:16.505+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="多平台開發"/><title type='text'>Visual Studio Code 工具相關文件收集</title><content type='html'>&lt;br /&gt;
快速鍵(Shortcuts)&lt;div&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf&quot; target=&quot;_blank&quot;&gt;VS Code keyboard shortcuts Windows pdf&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf&quot;&gt;VS Code keyboard shortcuts Macos pdf&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/7718634600790029397/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/7718634600790029397' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/7718634600790029397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/7718634600790029397'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2020/05/visual-studio-code.html' title='Visual Studio Code 工具相關文件收集'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-1996711588769826905</id><published>2020-05-13T19:38:00.004+08:00</published><updated>2021-07-28T01:03:34.624+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="DevOPS"/><title type='text'>使用 ffmpeg 指令合併的多個MP4檔案</title><content type='html'>&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;產生 ffmpeg concat 清單&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;p2&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;
使用指令如下&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;p2&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;
&lt;div style=&quot;background-color: #eeeeff; border: 1px solid black; overflow: auto; padding: 10px; width: 522.391px;&quot;&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;; font-stretch: normal; line-height: normal;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;cd 0512_mp4_files&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;; font-stretch: normal; line-height: normal;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;ls *.mp4 | xargs printf &quot;file &#39;%s&#39;\n&quot; &quot;$1&quot; &amp;gt; filelist.txt&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
合併用檔案清單 filelist.txt&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;p2&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;
&lt;div style=&quot;background-color: #eeeeff; border: 1px solid black; overflow: auto; padding: 10px; width: 522.391px;&quot;&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-size: 12px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;; font-size: x-small;&quot;&gt;file &#39;140005.mp4&#39;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;; font-size: x-small;&quot;&gt;file &#39;140106.mp4&#39;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;; font-size: x-small;&quot;&gt;file &#39;140206.mp4&#39;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;; font-size: x-small;&quot;&gt;file &#39;140306.mp4&#39;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;; font-size: x-small;&quot;&gt;file &#39;140406.mp4&#39;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;; font-size: x-small;&quot;&gt;file &#39;140506.mp4&#39;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;; font-size: x-small;&quot;&gt;file &#39;140607.mp4&#39;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;; font-size: x-small;&quot;&gt;file &#39;140707.mp4&#39;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;; font-size: x-small;&quot;&gt;file &#39;140807.mp4&#39;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;; font-size: x-small;&quot;&gt;file &#39;140907.mp4&#39;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;h4&gt;
&lt;/h4&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;.pingfang tc&amp;quot;; font-size: large;&quot;&gt;執行下列指令合併的多個MP4檔案&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;.pingfang tc&amp;quot;; font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div&gt;
&lt;div class=&quot;p2&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;
使用指令&lt;/div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;p2&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;
&lt;div style=&quot;background-color: #eeeeff; border: 1px solid black; overflow: auto; padding: 10px; width: 522.391px;&quot;&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;; font-stretch: normal; line-height: normal;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;cd 0512_mp4_files&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;; font-stretch: normal; line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;ffmpeg -f concat -i ./filelist.txt -c copy&amp;nbsp; your_target.mp4&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;.pingfang tc&amp;quot;; font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;範例&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: #eeeeff; border: 1px solid black; overflow: auto; padding: 10px; width: 522.391px;&quot;&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;$ ffmpeg -f concat -i ./filelist.txt -c copy 0512_all.mp4&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; built with Apple clang version 11.0.0 (clang-1100.0.33.17)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.2_3 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags=-fno-stack-check --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; libavutil&amp;nbsp; &amp;nbsp; &amp;nbsp; 56. 31.100 / 56. 31.100&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; libavcodec&amp;nbsp; &amp;nbsp; &amp;nbsp;58. 54.100 / 58. 54.100&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; libavformat&amp;nbsp; &amp;nbsp; 58. 29.100 / 58. 29.100&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; libavdevice&amp;nbsp; &amp;nbsp; 58.&amp;nbsp; 8.100 / 58.&amp;nbsp; 8.100&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; libavfilter&amp;nbsp; &amp;nbsp; &amp;nbsp;7. 57.100 /&amp;nbsp; 7. 57.100&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; libavresample&amp;nbsp; &amp;nbsp;4.&amp;nbsp; 0.&amp;nbsp; 0 /&amp;nbsp; 4.&amp;nbsp; 0.&amp;nbsp; 0&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; libswscale&amp;nbsp; &amp;nbsp; &amp;nbsp; 5.&amp;nbsp; 5.100 /&amp;nbsp; 5.&amp;nbsp; 5.100&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; libswresample&amp;nbsp; &amp;nbsp;3.&amp;nbsp; 5.100 /&amp;nbsp; 3.&amp;nbsp; 5.100&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; libpostproc&amp;nbsp; &amp;nbsp; 55.&amp;nbsp; 5.100 / 55.&amp;nbsp; 5.100&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fd408016200] Auto-inserting h264_mp4toannexb bitstream filter&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;Input #0, concat, from &#39;./filelist.txt&#39;:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; Duration: N/A, start: 0.000000, bitrate: 1328 kb/s&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709), 1920x1080, 1300 kb/s, 20.02 fps, 20 tbr, 90k tbn, 180k tbc&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; Metadata:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; creation_time&amp;nbsp; &amp;nbsp;: 1983-04-09T07:52:37.000000Z&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; handler_name&amp;nbsp; &amp;nbsp; : xsj_vid&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 16000 Hz, stereo, fltp, 27 kb/s&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; Metadata:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; creation_time&amp;nbsp; &amp;nbsp;: 1983-04-09T07:52:37.000000Z&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; handler_name&amp;nbsp; &amp;nbsp; : xsj_aud&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;Output #0, mp4, to &#39;0512_all.mp4&#39;:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; Metadata:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; encoder&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: Lavf58.29.100&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709), 1920x1080, q=2-31, 1300 kb/s, 20.02 fps, 20 tbr, 90k tbn, 90k tbc&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; Metadata:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; creation_time&amp;nbsp; &amp;nbsp;: 1983-04-09T07:52:37.000000Z&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; handler_name&amp;nbsp; &amp;nbsp; : xsj_vid&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 16000 Hz, stereo, fltp, 27 kb/s&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; Metadata:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; creation_time&amp;nbsp; &amp;nbsp;: 1983-04-09T07:52:37.000000Z&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; handler_name&amp;nbsp; &amp;nbsp; : xsj_aud&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;Stream mapping:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; Stream #0:0 -&amp;gt; #0:0 (copy)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&amp;nbsp; Stream #0:1 -&amp;gt; #0:1 (copy)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;Press [q] to stop, [?] for help&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fd408016200] Auto-inserting h264_mp4toannexb bitstream filter&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fd409004800] Auto-inserting h264_mp4toannexb bitstream filter&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;[mp4 @ 0x7fd407004a00] Non-monotonous DTS in output stream 0:1; previous: 1920672, current: 1920000; changing to 1920673. This may result in incorrect timestamps in the output file.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;[mp4 @ 0x7fd407004a00] Non-monotonous DTS in output stream 0:1; previous: 1920673, current: 1920160; changing to 1920674. This may result in incorrect timestamps in the output file.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fd407800000] Auto-inserting h264_mp4toannexb bitstream filter&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;[concat @ 0x7fd408009800] DTS 16200000 &amp;lt; 16203870 out of order&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fd409004800] Auto-inserting h264_mp4toannexb bitstream filter&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;[concat @ 0x7fd408009800] DTS 640980000 &amp;lt; 640988370 out of order&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;[mp4 @ 0x7fd407004a00] Non-monotonous DTS in output stream 0:0; previous: 640988370, current: 640980000; changing to 640988371. This may result in incorrect timestamps in the output file.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;[mp4 @ 0x7fd407004a00] Non-monotonous DTS in output stream 0:1; previous: 113953720, current: 113952000; changing to 113953721. This may result in incorrect timestamps in the output file.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;[mp4 @ 0x7fd407004a00] Non-monotonous DTS in output stream 0:0; previous: 640988371, current: 640980900; changing to 640988372. This may result in incorrect timestamps in the output file.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;[mp4 @ 0x7fd407004a00] Non-monotonous DTS in output stream 0:1; previous: 113953721, current: 113952160; changing to 113953722. This may result in incorrect timestamps in the output file.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;[mp4 @ 0x7fd407004a00] Non-monotonous DTS in output stream 0:0; previous: 640988372, current: 640985400; changing to 640988373. This may result in incorrect timestamps in the output file.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;[mp4 @ 0x7fd407004a00] Non-monotonous DTS in output stream 0:1; previous: 113953722, current: 113953232; changing to 113953723. This may result in incorrect timestamps in the output file.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;frame=144301 fps=11366 q=-1.0 Lsize= 1171225kB time=01:59:42.11 bitrate=1335.9kbits/s speed= 566x&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;video:1143434kB audio:24298kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.299121%&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;&lt;h2 cid=&quot;n196&quot; class=&quot;md-end-block md-heading&quot; mdtype=&quot;heading&quot; style=&quot;background-color: white; border-bottom-color: rgb(238, 238, 238); border-bottom-style: solid; border-bottom-width: 1px; box-sizing: border-box; break-after: avoid-page; break-inside: avoid; caret-color: rgb(51, 51, 51); color: #333333; cursor: text; font-family: &amp;quot;Open Sans&amp;quot;, &amp;quot;Clear Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 1.75em; line-height: 1.225; margin-bottom: 1rem; margin-top: 1rem; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-plain md-expand&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;延伸閱讀&lt;/span&gt;&lt;/h2&gt;&lt;ul cid=&quot;n197&quot; class=&quot;ul-list&quot; data-mark=&quot;*&quot; mdtype=&quot;list&quot; style=&quot;background-color: white; box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: &amp;quot;Open Sans&amp;quot;, &amp;quot;Clear Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; margin: 0.8em 0px; padding-left: 30px; position: relative;&quot;&gt;&lt;li cid=&quot;n198&quot; class=&quot;md-list-item md-focus-container&quot; mdtype=&quot;list_item&quot; style=&quot;box-sizing: border-box; margin: 0px; position: relative;&quot;&gt;&lt;p cid=&quot;n199&quot; class=&quot;md-end-block md-p md-focus&quot; mdtype=&quot;paragraph&quot; style=&quot;box-sizing: border-box; line-height: inherit; margin: 0px 0px 0.5rem; orphans: 4; position: relative; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;md-meta-i-c md-link&quot; md-inline=&quot;link&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;a href=&quot;https://ben6.blogspot.com/2021/07/ffmpeg-mp3.html&quot; style=&quot;-webkit-user-drag: none; box-sizing: border-box; color: #4183c4; cursor: pointer;&quot;&gt;&lt;span class=&quot;md-plain&quot; md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box;&quot;&gt;ffmpeg 降低聲音品質來縮小 mp3 檔案大小&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/1996711588769826905/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/1996711588769826905' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/1996711588769826905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/1996711588769826905'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2020/05/ffmpeg-mp4.html' title='使用 ffmpeg 指令合併的多個MP4檔案'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-5106410596662810488</id><published>2020-05-04T14:31:00.003+08:00</published><updated>2020-05-13T19:45:46.654+08:00</updated><title type='text'>[TIPS] Git 常用指令範例匯整 (Useful use cases)</title><content type='html'>&lt;div class=&quot;p1&quot; style=&quot;font-family: &amp;quot;.PingFang TC&amp;quot;; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style=&quot;font-family: &amp;quot;.PingFang TC&amp;quot;; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;移除已合併的分支&lt;/span&gt;&lt;/h3&gt;
&lt;h4&gt;
&lt;span style=&quot;font-weight: normal;&quot;&gt;問題&lt;/span&gt;&lt;/h4&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-family: &amp;quot;.PingFang TC&amp;quot;; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
當多人協作時，其他成員 git merge 後，自動刪除來源時，&lt;br /&gt;
執行指令 git pull 有出現下列訊息：&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: #eeeeff; border: 1px solid black; overflow: auto; padding: 10px; width: 80%;&quot;&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small; margin: auto;&quot;&gt;Your configuration specifies to merge with the ref &#39;refs/heads/feature/your-branch-merged&#39;&lt;br /&gt;
from the remote, but no such ref was fetched.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-family: &amp;quot;.PingFang TC&amp;quot;; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4 style=&quot;font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
解決方法&lt;/h4&gt;
&lt;div class=&quot;p2&quot; style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
git update command&lt;/div&gt;
&lt;div class=&quot;p2&quot; style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
&lt;br /&gt;
使用指令如下擇一:&lt;/div&gt;
&lt;div class=&quot;p2&quot; style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;
&lt;div style=&quot;background-color: #eeeeff; border: 1px solid black; overflow: auto; padding: 10px; width: 80%;&quot;&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;git remote update -p&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;p2&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# or&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;p2&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;git remote update -prune&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-family: &amp;quot;.pingfang tc&amp;quot;; font-size: medium; font-stretch: normal; line-height: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;
&lt;div style=&quot;font-family: times; font-size: medium;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style=&quot;font-family: times;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;查看 Log 方法&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;font-family: times; font-size: medium;&quot;&gt;
date: 2020/05/13 v1&lt;/div&gt;
&lt;div class=&quot;p2&quot; style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;; font-size: medium; font-stretch: normal; line-height: normal;&quot;&gt;
使用指令範例:&lt;/div&gt;
&lt;div class=&quot;p2&quot; style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;; font-size: medium; font-stretch: normal; line-height: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;
&lt;div style=&quot;background-color: #eeeeff; border: 1px solid black; overflow: auto; padding: 10px; width: 522.391px;&quot;&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
&lt;div style=&quot;font-size: medium;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;git log --oneline&amp;nbsp; &amp;nbsp;# 列出全部的 commits&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-size: medium;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;pingfang tc&amp;quot;; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;
&lt;div style=&quot;font-size: medium;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;git log --oneline | head -n 5 #&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;列出最近5個 commits&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;Learnings$ git log --oneline | head -n 5&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;e4fea6a [new/make] syntax: value script and sorted filter out&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;509768f [new/make] example syntax to filter duplicated item by...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;289b59d [fix/java] revise code to build on osx with android studio&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;a37b0fe [new/jni] example build script&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;336fce5 [new/py] create image file using pillow&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-family: &amp;quot;.pingfang tc&amp;quot;; font-size: medium; font-stretch: normal; line-height: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-family: times; font-size: medium; font-stretch: normal; line-height: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: times; font-size: medium;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/5106410596662810488/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/5106410596662810488' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/5106410596662810488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/5106410596662810488'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2020/05/tips-git-useful-use-cases.html' title='[TIPS] Git 常用指令範例匯整 (Useful use cases)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-7729768545882420142</id><published>2019-10-23T14:41:00.003+08:00</published><updated>2020-01-03T23:57:23.866+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="arm"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>[TIPS] 檢查CPU溫度 Raspberry PI </title><content type='html'>&lt;br /&gt;
&lt;h3&gt;
命令&lt;/h3&gt;
&amp;nbsp;/opt/vc/bin/vcgencmd&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
CPU溫度&lt;/h4&gt;
&lt;h4&gt;
&lt;table style=&quot;background-color: #e8e8e8; border: 1px solid black; color: black; font-size: 12px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;br /&gt;
pi@raspberrypi:~ $ /opt/vc/bin/vcgencmd version&lt;br /&gt;
&lt;br /&gt;
Jul&amp;nbsp; 9 2019 14:40:53&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2012 Broadcom&lt;br /&gt;
&lt;br /&gt;
version 6c3fe3f096a93de3b34252ad98cdccadeb534be2 (clean) (release) (start)&lt;br /&gt;
&lt;br /&gt;
pi@raspberrypi:~ $ uname -a&lt;br /&gt;
&lt;br /&gt;
Linux raspberrypi 4.19.57-v7+ #1244 SMP Thu Jul 4 18:45:25 BST 2019 armv7l GNU/Linux&lt;br /&gt;
&lt;br /&gt;
pi@raspberrypi:~ $ /opt/vc/bin/vcgencmd measure_temp&lt;br /&gt;
&lt;br /&gt;
temp=45.1&#39;C&lt;br /&gt;
&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/h4&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/7729768545882420142/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/7729768545882420142' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/7729768545882420142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/7729768545882420142'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2019/10/tips-cpu-raspberry-pi.html' title='[TIPS] 檢查CPU溫度 Raspberry PI '/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-5676432444105396358</id><published>2019-09-23T22:02:00.015+08:00</published><updated>2025-03-28T10:12:48.143+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bash"/><title type='text'>阿班 Bash 常用指令範例</title><content type='html'>Last Modified Date: 2025-03-28&lt;br /&gt;&lt;div&gt;&lt;/div&gt;
&lt;span&gt;&lt;b&gt;&lt;font size=&quot;5&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;span&gt;&lt;b&gt;&lt;font size=&quot;5&quot;&gt;mkdir&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Date: 08-27 v1&lt;br /&gt;&lt;div&gt;&lt;div class=&quot;p2&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;建立新目錄&lt;/div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;h3&gt;語法&lt;/h3&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div class=&quot;p2&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;div style=&quot;background-color: #eeeeff; border: 1px solid black; overflow: auto; padding: 10px; width: 522.391px;&quot;&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;&lt;span face=&quot;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;mkdir&amp;nbsp; [-p]&amp;nbsp; &amp;lt;目錄名&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;OPTION&lt;/h3&gt;無參數: 如果該目錄不存在，才建立它。若該目錄在則顯示目錄已存在錯誤訊息，並且回傳值為1&amp;nbsp;&lt;/div&gt;&lt;div&gt;-p: 如果該目錄不存在，才建立它。若該目錄在則略過，並且回傳值為 0&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h3&gt;範例&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span id=&quot;docs-internal-guid-08a98ff6-7fff-6b50-32ed-9154496e9696&quot;&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;$ mkdir new_directory&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;$ mkdir new_directory&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;mkdir: can&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&#39;t create directory &#39;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;new_directory&lt;/span&gt;&lt;span style=&quot;font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&#39;: File exists&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;span style=&quot;color: white;&quot;&gt;$&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; echo $?&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;span style=&quot;color: white;&quot;&gt;$&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; mkdir -p new_directory&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;span style=&quot;color: white;&quot;&gt;$&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; echo $?&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;font size=&quot;5&quot;&gt;mktemp&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Date: 05-14 v1&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;p2&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;
產生暫存檔案或目錄&lt;/div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3&gt;
語法&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div class=&quot;p2&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;
&lt;div style=&quot;background-color: #eeeeff; border: 1px solid black; overflow: auto; padding: 10px; width: 522.391px;&quot;&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;
&lt;div class=&quot;p1&quot; style=&quot;font-stretch: normal; line-height: normal;&quot;&gt;
&lt;span face=&quot;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;mktemp [OPTION] ... [TEMPLATE]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;&lt;b&gt;
OPTION&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
-u: --dry-run 不產生任何檔案或目錄，只顯示名稱 (不安全, 僅供測試, 因為有可能重複產生)&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
範例&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span id=&quot;docs-internal-guid-de631ea2-7fff-5dd2-788c-0301cd842eca&quot;&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;$ mktemp -u /you_path/path2/your_prefix.XXXXXXXXXX&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;/you_path/path2/your_prefix.zjvveu0Ncs&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #888888; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;# mktemp /tmp/your_prefix.XXXXXXXXXX&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;/tmp/your_prefix.5eEu7vU0zi&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #888888; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;# ls -la /tmp/your_prefix.5eEu7vU0zi&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;-rw------- 1 &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;test&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;test&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; 0 May 15 00:06 /tmp/your_prefix.5eEu7vU0zi&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;h2&gt;&lt;font size=&quot;5&quot;&gt;read&lt;/font&gt;&lt;/h2&gt;&lt;h3&gt;語法&lt;/h3&gt;&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;background-color: #fce8b2;&quot;&gt;read [argument1] [argument2] ...&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;範例&lt;/h3&gt;&lt;div&gt;&lt;span id=&quot;docs-internal-guid-8685403e-7fff-3667-f2a4-12e05b8a1d33&quot;&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 101.62119140624999pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span id=&quot;docs-internal-guid-81f99373-7fff-510e-7478-bcab5f03aad0&quot;&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;$ bash read_example_01.sh&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;./type_example_01.sh&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;./read_example_01.sh&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;$ find . -&lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; f | &lt;/span&gt;&lt;span style=&quot;color: #fcc28c; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;read&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; filename ; &lt;/span&gt;&lt;span style=&quot;color: #fcc28c; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;do&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #ade5fc; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;$filename&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; ; &lt;/span&gt;&lt;span style=&quot;color: #fcc28c; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;done&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;./type_example_01.sh&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;./read_example_01.sh&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;sed&lt;/h2&gt;
&lt;div&gt;
刪除空白行&lt;/div&gt;
&lt;h3&gt;語法&lt;/h3&gt;&lt;blockquote style=&quot;border: none; margin: 0 0 0 40px; padding: 0px;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: #fce8b2;&quot;&gt;&amp;nbsp;sed -e &quot;/^$/d&quot;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;h3&gt;
範例&lt;/h3&gt;&lt;div&gt;&lt;h3 style=&quot;font-size: 18px; line-height: 1;&quot;&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;span id=&quot;docs-internal-guid-d8fc875f-7fff-c339-874d-791666f86cba&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;bash-5.0&lt;/span&gt;&lt;span style=&quot;color: #888888; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;# &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; -e &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&quot;te\n\nst&quot;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; | sed &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&quot;/^$/d&quot;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;te&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;st&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/span&gt;&lt;/h3&gt;&lt;/div&gt;&lt;h2&gt;type&lt;/h2&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;h3&gt;
語法&lt;/h3&gt;&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;&quot;&gt;&lt;span style=&quot;background-color: #fce8b2;&quot;&gt;type command1 command2 ...&lt;/span&gt;&lt;/blockquote&gt;&lt;h3&gt;
範例&lt;/h3&gt;&lt;div&gt;&lt;span id=&quot;docs-internal-guid-396bc4ce-7fff-d7f5-afbf-5fd2b054851b&quot;&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;() { &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&#39;a&#39;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;; }&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;() {&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&#39;b&#39;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;c&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;()&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&#39;c&#39;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #888888; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;# type is a shell builtin&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; a b c&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;執行結果&lt;/h3&gt;&lt;div&gt;&lt;h3 style=&quot;font-size: 18px; line-height: 1;&quot;&gt;&lt;/h3&gt;&lt;/div&gt;&lt;span id=&quot;docs-internal-guid-56621a1d-7fff-1544-df33-2dbe55653635&quot;&gt;&lt;span id=&quot;docs-internal-guid-f22946a8-7fff-293d-b973-9791eab6271f&quot;&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 200.9898437499999pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;$ bash type_example_01.sh&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;a is a &lt;/span&gt;&lt;span style=&quot;color: #fcc28c; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; ()&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&#39;a&#39;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;b is a &lt;/span&gt;&lt;span style=&quot;color: #fcc28c; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; ()&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&#39;b&#39;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;c is a &lt;/span&gt;&lt;span style=&quot;color: #fcc28c; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;c&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; ()&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&#39;c&#39;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/span&gt;&lt;div&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;如果 type 配合 grep 指令把 is a function 去掉，則有自動排版函式的效果。&lt;/span&gt;&lt;div&gt;&lt;span&gt;&lt;br /&gt;&lt;span id=&quot;docs-internal-guid-143d3737-7fff-bdba-af82-a0243032f0dc&quot;&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;$ bash type_example_01.sh&amp;nbsp; | grep&amp;nbsp; -v &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&quot;is a function&quot;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; ()&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&#39;a&#39;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; ()&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&#39;b&#39;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;c&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; ()&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&#39;c&#39;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;font size=&quot;5&quot;&gt;xargs&lt;/font&gt;&lt;/h2&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;語法&lt;/h3&gt;&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px;&quot;&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: #fce8b2;&quot;&gt;xargs [argument1] [argument2] ...&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;範例&lt;/h3&gt;&lt;div&gt;&lt;h3 style=&quot;font-size: 18px; line-height: 1;&quot;&gt;&lt;/h3&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;pre&gt;&lt;span id=&quot;docs-internal-guid-4f841d65-7fff-0509-78b0-3081783fc84b&quot;&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;bash-5.0&lt;/span&gt;&lt;span style=&quot;color: #888888; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;# &lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;find . -&lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt; f | xargs wc -l | sed -e &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&quot;s/^[ \t]*//g&quot;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;2 ./b.txt&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;1 ./c.txt&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;3 ./a.txt&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;6 total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/5676432444105396358/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/5676432444105396358' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/5676432444105396358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/5676432444105396358'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2019/09/bash.html' title='阿班 Bash 常用指令範例'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-7987040892098458022</id><published>2019-09-16T18:11:00.001+08:00</published><updated>2019-09-23T22:02:09.953+08:00</updated><title type='text'>阿班 Docker 指令備忘範例</title><content type='html'>&lt;h2&gt;
啟動 Docker Container&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
自動啟動 Container&lt;/h3&gt;
&lt;div&gt;
&amp;nbsp;編修日期: 2019-9-23&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4&gt;
使用情境&lt;/h4&gt;
docker machine 重啟後，依設定規則來自動執行對應的 Docker Containers&lt;br /&gt;
&lt;h4&gt;
參考文件&lt;/h4&gt;
&lt;a href=&quot;https://docs.docker.com/config/containers/start-containers-automatically/&quot;&gt;https://docs.docker.com/config/containers/start-containers-automatically/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
語法&lt;/h4&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: silver; text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;margin-left: 10px; margin-top: 20px;&quot;&gt;
&lt;div style=&quot;display: inline-block; font-size: 18px; height: 30px; visibility: visible; width: 480px;&quot;&gt;
docker update --restart always container-id [...]&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
or
&lt;br /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: silver; text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;background-color: silver; margin-left: 10px; margin-top: 20px;&quot;&gt;
&lt;div style=&quot;display: inline-block; font-size: 18px; height: 30px; visibility: visible; width: 480px;&quot;&gt;
docker update --restart always container-name [...]&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4&gt;
範例&lt;/h4&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: silver; text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;margin-left: 10px; margin-top: 20px;&quot;&gt;
&lt;div style=&quot;display: inline-block; font-size: 18px; height: 30px; visibility: visible; width: 480px;&quot;&gt;
docker update --restart always my-testapp my-testapp2&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/7987040892098458022/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/7987040892098458022' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/7987040892098458022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/7987040892098458022'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2019/09/docker.html' title='阿班 Docker 指令備忘範例'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-7969195063137004273</id><published>2019-06-29T17:54:00.001+08:00</published><updated>2019-08-30T00:53:59.488+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>Bash Tip - Why .bashrc (dot bashrc) not loaded after new user created?</title><content type='html'>&lt;br /&gt;
&lt;div&gt;
Recently, I reinstalled ubuntu 16.04LTS on my desktop as a Linux server.&lt;br /&gt;
&lt;br /&gt;
After a new user created, ssh into the server each time, but .bashrc (dot bashrc) not loaded after new user created? Please try to modify the profile as bellow.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Append some commands into ~/.profile&lt;/h2&gt;
&lt;script src=&quot;https://gist.github.com/benwei/61f93076f6a25d4624f531d82add0ece.js&quot;&gt;&lt;/script&gt;

&lt;h2&gt;
result of test-cases.sh example&lt;/h2&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #eeeeff; border: 1px solid black; font-size: 0.9em; overflow: auto; padding: 10px; width: 200px;&quot;&gt;
~$ source .profile&lt;br /&gt;
load /home/ben/.bashrc by ~/.profile&lt;br /&gt;
.bashrc has been executed once&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h2&gt;
Appendix&lt;/h2&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Bash_(Unix_shell)&quot; target=&quot;_blank&quot;&gt;wikipedia - Bash_(Unix_shell)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tldp.org/LDP/Bash-Beginners-Guide/html/index.html&quot; target=&quot;_blank&quot;&gt;Bash Guide for Beginners -- Machtelt Garrels&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://mywiki.wooledge.org/DotFiles&quot; target=&quot;_blank&quot;&gt;Configuring your login sessions with dot files&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/7969195063137004273/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/7969195063137004273' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/7969195063137004273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/7969195063137004273'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2019/06/bash-tip-why-bashrc-dot-bashrc-not.html' title='Bash Tip - Why .bashrc (dot bashrc) not loaded after new user created?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-1918035461834350803</id><published>2019-05-13T23:17:00.000+08:00</published><updated>2019-05-13T23:58:35.353+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OS"/><title type='text'>開源 RISC OS Pi 系統 - 初探</title><content type='html'>&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=8128204435429155560&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=8128204435429155560&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=8128204435429155560&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=8128204435429155560&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCzf6qa5O6JAthyrrizu8F41FZAyVmJg7h6OZfajlPHjCW4RtsTrdEgYJ1-ddSlKedBmviLdC7db6v6AqbP6LqB20oqjPEJUtkE4KOuBXFrlXDSg0xoqnBbozp7U8vcrTzboxE2b0WwTxI/s1600/s%25E7%259B%25B8%25E7%2589%2587+2019-5-12+%25E4%25B8%258A%25E5%258D%258812+37+27.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;756&quot; data-original-width=&quot;1008&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCzf6qa5O6JAthyrrizu8F41FZAyVmJg7h6OZfajlPHjCW4RtsTrdEgYJ1-ddSlKedBmviLdC7db6v6AqbP6LqB20oqjPEJUtkE4KOuBXFrlXDSg0xoqnBbozp7U8vcrTzboxE2b0WwTxI/s320/s%25E7%259B%25B8%25E7%2589%2587+2019-5-12+%25E4%25B8%258A%25E5%258D%258812+37+27.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
1987 開始發展的RISC OS, 終於在2018年10月以Apache 2.0 License 開源，允許商業使用。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=8128204435429155560&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
近來忙裡偷閒，用樹梅派最新版本 Raspberry Pi 3 Model B+ 安裝了RISC OS PI ，號稱是ARM 架構下快速也易於客制化的作業系統 (A fast and easily customized operating system for ARM devices)。&lt;br /&gt;
&lt;div class=&quot;NFQFxe oHglmf xzPb7d viOShc mod&quot; data-md=&quot;32&quot; lang=&quot;zh-Hant-TW&quot; style=&quot;border-radius: 8px; clear: none; padding-bottom: 16px; padding-top: 0px;&quot;&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
初步試用, 它的視窗環境用起來執行程式反應很快（相比Raspbian&amp;nbsp; based X-Window 來說)。&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
並試了一些常用工具都有替代的APP可以使用&lt;br /&gt;
Ex: &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Nettle(ssh/telnet client)&lt;/li&gt;
&lt;li&gt;LanMan (Samba client)&lt;/li&gt;
&lt;li&gt;NetSurf (Browser) ...&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
不過還需要更多開源高手投入時間進一步改善。&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
安裝方式是以ＮOOBS來安裝 RISC OS PI&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
&lt;a href=&quot;https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up/3&quot;&gt;https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up/3&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;background-color: white; clear: both; color: #222222; font-family: arial, sans-serif; font-size: small; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsjZP396Ih8UYY2gi7kG4yHTIwXN7Bl-jeUjQe6wkcyBhfr_cxC1JRNgSqehpJ94c1LaDZwFA9SnbCOYpXVkXaXaTkEvf1f22bgv1zcLb68Iis4xACsfT0dL84z0i6P8fZu6pCN69gQzxU/s1600/s_noobs_%25E7%259B%25B8%25E7%2589%2587+2019-5-11+%25E4%25B8%258B%25E5%258D%258810+22+09.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1352&quot; data-original-width=&quot;1600&quot; height=&quot;270&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsjZP396Ih8UYY2gi7kG4yHTIwXN7Bl-jeUjQe6wkcyBhfr_cxC1JRNgSqehpJ94c1LaDZwFA9SnbCOYpXVkXaXaTkEvf1f22bgv1zcLb68Iis4xACsfT0dL84z0i6P8fZu6pCN69gQzxU/s320/s_noobs_%25E7%259B%25B8%25E7%2589%2587+2019-5-11+%25E4%25B8%258B%25E5%258D%258810+22+09.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;background-color: white; clear: both; color: #222222; font-family: arial, sans-serif; font-size: small; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;background-color: white; clear: both; color: #222222; font-family: arial, sans-serif; font-size: small; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;background-color: white; clear: both; color: #222222; font-family: arial, sans-serif; font-size: small; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style=&quot;background-color: white; clear: both; color: #222222; font-family: arial, sans-serif; font-size: small; text-align: left;&quot;&gt;
小結&lt;/h3&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
待機耗電量約在 2.93W (4.89V, 0.6A）運行較吃ＣＰＵ資源大約升高到 3.9W (4.89V, 0.8A)，以一個迷你作業系統而言，還算省電。有興趣的朋友可以裝起來試玩看看。&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;background-color: white; clear: both; color: #222222; font-family: arial, sans-serif; font-size: small; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilgOmvN4DDLdwzt_GyqiqNDvFWKr0NxCff0asasDDcdfEE6GqQSdd_3JGBkbX_GPc3ppepBS0UYNzjxaxUIsh_pZZYAaXsDm68eTbemX8_su7dG0FkHZh7lLzy2ZaJ8wIBrQ-km18e3xUV/s1600/s2%25E7%259B%25B8%25E7%2589%2587+2019-5-12+%25E4%25B8%258A%25E5%258D%25881+52+22.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;907&quot; data-original-width=&quot;1210&quot; height=&quot;298&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilgOmvN4DDLdwzt_GyqiqNDvFWKr0NxCff0asasDDcdfEE6GqQSdd_3JGBkbX_GPc3ppepBS0UYNzjxaxUIsh_pZZYAaXsDm68eTbemX8_su7dG0FkHZh7lLzy2ZaJ8wIBrQ-km18e3xUV/s400/s2%25E7%259B%25B8%25E7%2589%2587+2019-5-12+%25E4%25B8%258A%25E5%258D%25881+52+22.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;background-color: white; clear: both; color: #222222; font-family: arial, sans-serif; font-size: small; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1UEL45zD7Qt142dwyxT8sT87EE0Z2n1uyW5wnLG-KAvurfO2LtDfyzVGlA_sucvCBf40YuQdYQE-axFcccrDO0hCGkarH7Bvfa7WyO43bF-HCBSzKceACwFcgssHj3Rdk4PPPqzLQ_L8E/s1600/s3%25E7%259B%25B8%25E7%2589%2587+2019-5-12+%25E4%25B8%258A%25E5%258D%25881+40+47.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;907&quot; data-original-width=&quot;1210&quot; height=&quot;298&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1UEL45zD7Qt142dwyxT8sT87EE0Z2n1uyW5wnLG-KAvurfO2LtDfyzVGlA_sucvCBf40YuQdYQE-axFcccrDO0hCGkarH7Bvfa7WyO43bF-HCBSzKceACwFcgssHj3Rdk4PPPqzLQ_L8E/s400/s3%25E7%259B%25B8%25E7%2589%2587+2019-5-12+%25E4%25B8%258A%25E5%258D%25881+40+47.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2 style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
參考資料&lt;/h2&gt;
&lt;ul style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
&lt;li&gt;&lt;a href=&quot;http://www.davidhill.co/risc-os-star-commands/&quot; target=&quot;_blank&quot;&gt;Link: RISC OS Star Commands&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://lb.raspberrypi.org/forums/viewtopic.php?t=22093&quot; target=&quot;_blank&quot;&gt;STICKY: New to RISC OS? Read this&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://zh.wikipedia.org/wiki/RISC_OS&quot; target=&quot;_blank&quot;&gt;Wikipedia RISC_OS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://www.riscosopen.org/news/articles/2018/10/22/risc-os-is-open-for-business&quot; target=&quot;_blank&quot;&gt;Link: RISC OS is open for business!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2 style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
延伸閱讀&lt;/h2&gt;
&lt;ul style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: small;&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://ben6.blogspot.com/2012/12/cubieboard.html&quot; target=&quot;_blank&quot;&gt;Cubieboard 耗電量實測&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ben6.blogspot.com/2012/07/f4osstm32f407.html&quot; target=&quot;_blank&quot;&gt;F4OS與STM32F407的那些事兒？&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/1918035461834350803/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/1918035461834350803' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/1918035461834350803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/1918035461834350803'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2019/05/1987-risc-os-201810apache-2.html' title='開源 RISC OS Pi 系統 - 初探'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCzf6qa5O6JAthyrrizu8F41FZAyVmJg7h6OZfajlPHjCW4RtsTrdEgYJ1-ddSlKedBmviLdC7db6v6AqbP6LqB20oqjPEJUtkE4KOuBXFrlXDSg0xoqnBbozp7U8vcrTzboxE2b0WwTxI/s72-c/s%25E7%259B%25B8%25E7%2589%2587+2019-5-12+%25E4%25B8%258A%25E5%258D%258812+37+27.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-2189757845146985836</id><published>2019-05-09T12:23:00.000+08:00</published><updated>2019-05-09T12:24:30.518+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="DevOPS"/><category scheme="http://www.blogger.com/atom/ns#" term="English"/><title type='text'>DevOps Tip - Got error - not found aws-iam-authenticator for kubectl using?</title><content type='html'>&lt;br /&gt;
&lt;h2&gt;
Problem&lt;/h2&gt;
&lt;div&gt;
I&#39;ve got error to run kubectl command with&amp;nbsp;&lt;span style=&quot;background-color: #f6f6f6;&quot;&gt;aws-iam-authenticator not found&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f6f6f6;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: #f6f6f6; border: 2px #ccc solid; padding: 10px;&quot;&gt;
(venv) ➜&amp;nbsp; k8s git:(develop) ✗ kubectl get pod&lt;br /&gt;
Unable to connect to the server: getting credentials: exec: exec: &quot;aws-iam-authenticator&quot;: executable file not found in $PATH&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Solutions&lt;/h2&gt;
&lt;/div&gt;
&lt;h3&gt;
Installation tool on OSX Mojave&lt;/h3&gt;
&lt;div style=&quot;background-color: #f6f6f6; border: 2px #ccc solid; padding: 10px;&quot;&gt;
brew install aws-iam-authenticator&lt;/div&gt;
&lt;h3&gt;
Example of installation&lt;/h3&gt;
&lt;div style=&quot;background-color: #f6f6f6; border: 2px #ccc solid; padding: 10px;&quot;&gt;
&lt;pre&gt; (venv) ➜  k8s git:(develop) ✗ brew install aws-iam-authenticator
Updating Homebrew...
==&amp;gt; Auto-updated Homebrew!
Updated 3 taps (homebrew/core, homebrew/cask and caskroom/cask).
==&amp;gt; New Formulae
..
==&amp;gt; Downloading https://homebrew.bintray.com/bottles/&lt;/pre&gt;
&lt;pre&gt;aws-iam-authenticator-0.4.0.mojave.bottle.tar.gz
==&amp;gt; Downloading from https://akamai.bintray.com/52...
######################################################################## 100.0%
==&amp;gt; Pouring aws-iam-authenticator-0.4.0.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/aws-iam-authenticator/0.4.0: 5 files, 31.1MB
&lt;/pre&gt;
&lt;/div&gt;
&lt;h2&gt;
References&lt;/h2&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.aws.amazon.com/en_us/eks/latest/userguide/install-aws-iam-authenticator.html&quot; target=&quot;_blank&quot;&gt;Amazon EKS Guide - Installing aws-iam-authenticator&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;h3 style=&quot;background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; margin: 0px; position: relative;&quot;&gt;
Extended Reading&lt;/h3&gt;
&lt;ul style=&quot;line-height: 1.4; list-style-image: initial; list-style-position: initial; margin: 0.5em 0px; padding: 0px 2.5em;&quot;&gt;
&lt;li style=&quot;background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot;&gt;&lt;a href=&quot;https://ben6.blogspot.com/2019/01/devops-tip-1-how-to-use-shared.html&quot; target=&quot;_blank&quot;&gt;DevOps Tip - How to use shared terraform plugins by -plugin-dir argument?&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot;&gt;&lt;a href=&quot;https://ben6.blogspot.com/2019/01/devops-tip-how-to-use-terraform-apply.html&quot; target=&quot;_blank&quot;&gt;DevOps Tip - How to use terraform apply without prompt and input yes for CI/CD?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/2189757845146985836/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/2189757845146985836' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/2189757845146985836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/2189757845146985836'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2019/05/devops-tip-got-error-not-found-aws-iam.html' title='DevOps Tip - Got error - not found aws-iam-authenticator for kubectl using?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-5759169139983726112</id><published>2019-04-11T23:51:00.002+08:00</published><updated>2019-04-12T00:01:42.992+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Python Tip - Examples of initialize variables with sequence number in different ways</title><content type='html'>&lt;h3&gt;
Purpose&lt;/h3&gt;
&lt;div&gt;
It is used to collect sample code for python&#39;s coding tips of initialization variables.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
A. Variables with constants&lt;/h3&gt;
&lt;div&gt;
test_init_vars.py&lt;/div&gt;
&lt;h2&gt;
&lt;table border=&quot;1&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;#!/usr/bin/env python&lt;br /&gt;
&lt;br /&gt;
a=0&lt;br /&gt;
b=1&lt;br /&gt;
c=2&lt;br /&gt;
d=3&lt;br /&gt;
e=4&lt;br /&gt;
f=5&lt;br /&gt;
print(a, b, c, d, e, f)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/h2&gt;
&lt;div&gt;
&lt;h3&gt;
B. Use range()&lt;/h3&gt;
&lt;/div&gt;
test_init_vars_by_range.py&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;#!/usr/bin/env python&lt;br /&gt;
&lt;br /&gt;
a, b, c, d, e, f = range(6)&lt;br /&gt;
&lt;br /&gt;
print(a, b, c, d, e, f)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;h3&gt;
C. Use enum since python 3.4 supported&lt;/h3&gt;
&lt;div&gt;
test_init_vars_by_enum.py&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;#!/usr/bin/env python3.6&lt;br /&gt;
&lt;br /&gt;
from enum import IntEnum,auto&lt;br /&gt;
&lt;br /&gt;
class Vars(IntEnum):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; a=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; b=auto()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; c=auto()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; d=auto()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; e=auto()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; f=auto()&lt;br /&gt;
&lt;br /&gt;
print(&quot;{}, {}, {}, {}, {}, {}&quot;.format(Vars.a, Vars.b, Vars.c, Vars.d, Vars.e, Vars.f))&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;h2&gt;
Result&lt;/h2&gt;
&lt;table border=&quot;1&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;$ python2.7 test_init_vars.py&lt;br /&gt;
(0, 1, 2, 3, 4, 5)&lt;br /&gt;
$ python3.6 test_init_vars.py&lt;br /&gt;
0 1 2 3 4 5&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
$ python2.7 test_init_vars_by_range.py&lt;br /&gt;
(0, 1, 2, 3, 4, 5)&lt;br /&gt;
$ python3.6 test_init_vars_by_range.py&lt;br /&gt;
0 1 2 3 4 5&lt;br /&gt;
&lt;br /&gt;
$ python2.7 test_init_vars_by_enum.py&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
&amp;nbsp; File &quot;test_init_vars_by_enum.py&quot;, line 3, in &lt;module&gt;&lt;/module&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; from enum import IntEnum,auto&lt;br /&gt;
ImportError: cannot import name auto&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
$ python3.6 test_init_vars_by_enum.py&lt;br /&gt;
0, 1, 2, 3, 4, 5&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;h2&gt;
References&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ben6.blogspot.com/2011/08/python-c.html&quot;&gt;使用Python 直接載入 C 函式庫進行多平台測試&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ben6.blogspot.com/2011/05/python-mac-os-x.html&quot;&gt;解決Python 跨平台相容性問題 (Mac OS X)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ben6.blogspot.com/2012/05/shellcode.html&quot;&gt;python + shellcode 實測 64/32&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/enum.html&quot;&gt;python3.4 support for enumerations&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/5759169139983726112/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/5759169139983726112' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/5759169139983726112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/5759169139983726112'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2019/04/python-tips1-examples-of-initialize.html' title='Python Tip - Examples of initialize variables with sequence number in different ways'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-6002306538767123294</id><published>2019-03-21T18:12:00.000+08:00</published><updated>2019-03-21T22:01:50.701+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General Programming"/><title type='text'> 在執行期取得目前Makefile腳本檔所在的目錄 Absolute Path of current Makefile 含測試結果</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
範例程式取得Makefile所在絕對路徑 (Absolute Path of current Makefile)&lt;/h3&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/benwei/4e9869f7c102de6b785abe7b9d612253.js&quot;&gt;&lt;/script&gt;

&lt;br /&gt;
&lt;h3&gt;
test results on linux&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;script src=&quot;https://gist.github.com/benwei/23b495bc2186a6228c4aa6b9b0cda406.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
參考&lt;/h3&gt;
-&amp;nbsp;&lt;a href=&quot;https://www.systutorials.com/241620/how-to-get-the-full-path-and-directory-of-a-makefile-itself/&quot;&gt;https://www.systutorials.com/241620/how-to-get-the-full-path-and-directory-of-a-makefile-itself/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/6002306538767123294/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/6002306538767123294' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/6002306538767123294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/6002306538767123294'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2019/03/makefile-absolute-path-of-current.html' title=' 在執行期取得目前Makefile腳本檔所在的目錄 Absolute Path of current Makefile 含測試結果'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-316674457298060571</id><published>2019-03-14T23:53:00.001+08:00</published><updated>2019-03-15T00:51:19.953+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>Bash Tip - Run Command with multiple arguments with ssh</title><content type='html'>&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
This is a note for logging my simple way to use ssh and bash with continuous integration on remote server.&lt;br /&gt;
&lt;br /&gt;
You can execute the following test-cases.sh on your host.&lt;br /&gt;
&lt;br /&gt;
It will execute remote script of the test with correct argument contents.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
source code of test-cases.sh on host&lt;/h2&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;script src=&quot;https://gist.github.com/benwei/70b0f532adaa75aef1be3dec7abfc975.js&quot;&gt;&lt;/script&gt;

&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;h2&gt;
directory layout of tester account on test-server&lt;/h2&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRpjZViX0z5GOB1j73ab_UKZGIvAbr0lt7x4jzMQYVGbEDMdL6WmQq7dVff2w1IwKLrVaYo-ccA-1qhx4eaUL2B0tFlIoA-_aksWg5dBzo8FqaMjV4cvxpu2w8H5TdBafCBoeUqx1gr-rG/s1600/1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;201&quot; data-original-width=&quot;237&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRpjZViX0z5GOB1j73ab_UKZGIvAbr0lt7x4jzMQYVGbEDMdL6WmQq7dVff2w1IwKLrVaYo-ccA-1qhx4eaUL2B0tFlIoA-_aksWg5dBzo8FqaMjV4cvxpu2w8H5TdBafCBoeUqx1gr-rG/s1600/1.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2 style=&quot;clear: both; text-align: left;&quot;&gt;
source code of tests.sh on test-server&lt;/h2&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;script src=&quot;https://gist.github.com/benwei/a31de51069aa31dc54f355bc5d599892.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
result of test-cases.sh example&lt;/h2&gt;
source ./test-cases.sh&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
➜&amp;nbsp; ~ run_cases &quot;\&quot;1\&quot;\&quot;&quot; &quot;b&#39;\&quot;&quot; &quot;c&#39;#\&quot;&quot; &quot;\&quot;\&quot;&quot; &quot;\&#39;&quot;&lt;/div&gt;
&lt;div&gt;
ssh test-server cd test-cases; /bin/bash ./tests.sh&amp;nbsp; &quot;\&quot;1\&quot;\&quot;&quot; &quot;b\&#39;\&quot;&quot; &quot;c\&#39;\#\&quot;&quot; &quot;\&quot;\&quot;&quot; &quot;\\&#39;&quot;&lt;/div&gt;
&lt;div&gt;
argv[1]=[&quot;1&quot;&quot;]&lt;/div&gt;
&lt;div&gt;
argv[2]=[b\&#39;&quot;]&lt;/div&gt;
&lt;div&gt;
argv[3]=[c\&#39;\#&quot;]&lt;/div&gt;
&lt;div&gt;
argv[4]=[&quot;&quot;]&lt;/div&gt;
&lt;div&gt;
argv[5]=[\\&#39;]&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;
Notes&lt;/h2&gt;
printf %q&amp;nbsp; is use to make safe quote the argument if hashtag(#), quote(&#39;), double quote(&quot;) and so on.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Appendix&lt;/h2&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Bash_(Unix_shell)&quot; target=&quot;_blank&quot;&gt;wikipedia - Bash_(Unix_shell)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tldp.org/LDP/Bash-Beginners-Guide/html/index.html&quot;&gt;Bash Guide for Beginners  -- Machtelt Garrels&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/316674457298060571/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/316674457298060571' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/316674457298060571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/316674457298060571'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2019/03/run-command-with-multiple-arguments.html' title='Bash Tip - Run Command with multiple arguments with ssh'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRpjZViX0z5GOB1j73ab_UKZGIvAbr0lt7x4jzMQYVGbEDMdL6WmQq7dVff2w1IwKLrVaYo-ccA-1qhx4eaUL2B0tFlIoA-_aksWg5dBzo8FqaMjV4cvxpu2w8H5TdBafCBoeUqx1gr-rG/s72-c/1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-6819693774423837627</id><published>2019-02-22T23:47:00.000+08:00</published><updated>2019-02-23T00:04:35.912+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General Programming"/><title type='text'>Bash Tip - Use bash to implement like C&#39;s argc and argv</title><content type='html'>Test bash script capacity&lt;br /&gt;
&lt;br /&gt;
I want to show how to write the advanced bash script with shift and array.&lt;br /&gt;
Feature:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;filter the arguments with &#39;-&#39; leading character as options&lt;/li&gt;
&lt;li&gt;the following inputs are the data arguments&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
Tested environments:
 - bash 4.3.48 x86_64-pc-linux-gnu ubuntu-16.04.4 LTS
&lt;br /&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/benwei/9169dba050272967b3405353c1807e81.js&quot;&gt;&lt;/script&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/6819693774423837627/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/6819693774423837627' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/6819693774423837627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/6819693774423837627'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2019/02/bash-tip-use-bash-to-implement-like-cs.html' title='Bash Tip - Use bash to implement like C&#39;s argc and argv'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8128204435429155560.post-2008761855699107601</id><published>2019-01-30T23:45:00.003+08:00</published><updated>2019-01-30T23:45:45.895+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="DevOPS"/><category scheme="http://www.blogger.com/atom/ns#" term="English"/><title type='text'>DevOps Tip - How to use terraform apply without prompt and input yes for CI/CD?</title><content type='html'>&lt;h3&gt;
Problem&lt;/h3&gt;
Took a memo about integration of CI/CD applied by terraform without prompt to input &#39;yes&#39;&lt;br /&gt;
It is annoying to input yes every time if you already make sure already by `terraform plan`.&lt;br /&gt;
On the other hand, I need to integrate with different system for CI/CD. I need a way to approve it automatically.&lt;br /&gt;
By tests with commands official documents, I found the correct command and arguments.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Tested Solutions&lt;/h3&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; terraform apply -input=false -auto-approve&lt;br /&gt;
&lt;br /&gt;
or as my test, you can shorten to the following command&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; terraform apply -auto-approve&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Test Environments&lt;/h3&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Ubuntu 16.04.04 LTS&lt;/li&gt;
&lt;li&gt;OSX 10.14&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h3&gt;
Reference:&lt;/h3&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.hashicorp.com/terraform/development/running-terraform-in-automation&quot;&gt;https://learn.hashicorp.com/terraform/development/running-terraform-in-automation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Extended Reading&lt;/h3&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ben6.blogspot.com/2019/01/devops-tip-1-how-to-use-shared.html&quot; target=&quot;_blank&quot;&gt;DevOps Tip - How to use shared terraform plugins by -plugin-dir argument?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ben6.blogspot.com/feeds/2008761855699107601/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8128204435429155560/2008761855699107601' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/2008761855699107601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8128204435429155560/posts/default/2008761855699107601'/><link rel='alternate' type='text/html' href='http://ben6.blogspot.com/2019/01/devops-tip-how-to-use-terraform-apply.html' title='DevOps Tip - How to use terraform apply without prompt and input yes for CI/CD?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>