<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Bash on G. T. Wang</title>
    <link>https://blog.gtwang.org/tags/bash/</link>
    <description>Recent content in Bash on G. T. Wang</description>
    <generator>Hugo -- 0.156.0</generator>
    <language>zh-tw</language>
    <copyright>G. T. Wang</copyright>
    <lastBuildDate>Thu, 19 Jul 2018 15:58:44 +0800</lastBuildDate>
    <atom:link href="https://blog.gtwang.org/tags/bash/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Linux 防止 Shell 指令稿重複執行教學</title>
      <link>https://blog.gtwang.org/linux/prevent-shell-script-duplicate-executions/</link>
      <pubDate>Thu, 19 Jul 2018 15:58:44 +0800</pubDate>
      <guid>https://blog.gtwang.org/linux/prevent-shell-script-duplicate-executions/</guid>
      <description>&lt;p&gt;這裡介紹如何防止 Linux 的 Shell 指令稿重複被執行，確保同一時間只有一個行程在執行。&lt;/p&gt;
&lt;p&gt;管理者在平常管理與維護 Linux 系統時，通常都會將例行性的工作寫成指令稿（script），然後以手動或是自動排程（crontab）的方式來執行，而像這類的指令稿通常都不能同時重複執行，否則很容易出問題（例如備份檔案等），所以在撰寫系統管理相關的指令稿時，最好要加上避免重複執行的檢查邏輯。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux mktemp 建立暫存檔指令教學與範例</title>
      <link>https://blog.gtwang.org/linux/linux-mktemp-command-tutorial-examples/</link>
      <pubDate>Tue, 15 May 2018 18:17:45 +0800</pubDate>
      <guid>https://blog.gtwang.org/linux/linux-mktemp-command-tutorial-examples/</guid>
      <description>&lt;p&gt;這裡介紹如何使用 Linux 的 &lt;code&gt;mktemp&lt;/code&gt; 指令，自動建立檔名不重複的暫存檔案或目錄，方便程式或指令稿存放資料。&lt;/p&gt;
&lt;p&gt;有時候在撰寫程式或是指令稿時，會需要建立暫存檔來存放暫時性的資料，直覺的作法是在特定的目錄下，以亂數的方式來命名暫存檔，並檢查是否有檔名重複的問題，雖然產生亂數暫存檔的實作不會很複雜，但若有現成可用的工具，當然會更方便。&lt;/p&gt;</description>
    </item>
    <item>
      <title>ImageMagick 自動在照片上加入文字、圖片浮水印教學與範例指令稿</title>
      <link>https://blog.gtwang.org/linux/imagemagick-image-watermarking-tutorial/</link>
      <pubDate>Mon, 26 Mar 2018 07:54:36 +0800</pubDate>
      <guid>https://blog.gtwang.org/linux/imagemagick-image-watermarking-tutorial/</guid>
      <description>&lt;p&gt;這裡介紹如何使用 ImageMagick 撰寫指令稿，自動在圖片上加上文字或圖片的浮水印，標註作者與版權等資訊。&lt;/p&gt;
&lt;p&gt;如果想要把自己拍攝的照片放在網路上展示，但又不想讓人隨意下載回去做其他用途的話，就可以考慮在圖片中加入浮水印、文字標註或自己的 logo，註明版權宣告、攝影者等資訊，避免圖片被濫用。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux I/O 輸入與輸出重新導向，基礎概念教學</title>
      <link>https://blog.gtwang.org/linux/linux-io-input-output-redirection-operators/</link>
      <pubDate>Mon, 28 Aug 2017 19:50:21 +0800</pubDate>
      <guid>https://blog.gtwang.org/linux/linux-io-input-output-redirection-operators/</guid>
      <description>&lt;p&gt;本篇介紹 Linux I/O 輸入與輸出重新導向的入門概念與使用方式，並提供一些範例指令稿。&lt;/p&gt;
&lt;p&gt;I/O 的重新導向是 Linux 系統中很重要的一個特性，它可以讓我們任意串接各種程式的輸入與輸出、將資料導入檔案或從檔案中導出資料，結合多種 Linux 指令，組成任意的「指令管線」（command pipeline）。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bash 程式設計教學：開啟 TCP/UDP Socket 網路連線</title>
      <link>https://blog.gtwang.org/programming/bash-tutorial-open-tcp-udp-socket/</link>
      <pubDate>Fri, 25 Aug 2017 21:06:18 +0800</pubDate>
      <guid>https://blog.gtwang.org/programming/bash-tutorial-open-tcp-udp-socket/</guid>
      <description>&lt;p&gt;這裡示範如何使用 bash 指令稿開啟 TCP/UDP 的 socket，進行各種網路診斷工作。&lt;/p&gt;
&lt;p&gt;作為網管或是 Linux 系統管理者，使用 &lt;a href=&#34;https://blog.gtwang.org/linux/linux-utility-netcat-examples/&#34;&gt;netcat&lt;/a&gt;、&lt;a href=&#34;https://blog.gtwang.org/linux/linux-wget-command-download-web-pages-and-files-tutorial-examples/&#34;&gt;wget&lt;/a&gt; 或 &lt;code&gt;curl&lt;/code&gt; 這類的指令檢查遠端伺服器的網路服務應該算是基本技能，而且是時常會需要做的工作之一，但是如果遇到系統上沒有這類的工具可用時，我們就可以改用 bash shell 內建的一些功能來達到類似的效果。&lt;/p&gt;</description>
    </item>
    <item>
      <title>用 ping 與 arp 指令掃瞄區域網路設備，產生 IP 與 MAC 卡號對應表教學</title>
      <link>https://blog.gtwang.org/linux/ping-and-arp-scan-ip-mac-address-script/</link>
      <pubDate>Tue, 28 Mar 2017 07:46:24 +0800</pubDate>
      <guid>https://blog.gtwang.org/linux/ping-and-arp-scan-ip-mac-address-script/</guid>
      <description>&lt;p&gt;這裡介紹如何使用 &lt;code&gt;ping&lt;/code&gt; 與 &lt;code&gt;arp&lt;/code&gt; 指令快速清查區域網路的電腦與網路設備，建立 IP 位址與網路卡 MAC 卡號對應表。&lt;/p&gt;
&lt;p&gt;對於網路管理者（網管）來說，掃描區域網路設備、取得所有電腦的 IP 位址與 MAC 卡號對應表是基本的技能，而且也是一項時常需要做的工作，如果剛好臨時遇到需要掃描 IP 與 MAC 卡號，手上又沒有適合的軟體時，就可以使用各種作業系統都有內建的 &lt;code&gt;ping&lt;/code&gt; 與 &lt;code&gt;arp&lt;/code&gt; 指令來處理，以下是使用教學以及範例指令稿。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bash 程式設計教學：平行執行背景子行程，用 wait 等待工作結束</title>
      <link>https://blog.gtwang.org/programming/bash-tutorial-parallel-subprocesses-and-wait/</link>
      <pubDate>Sat, 25 Mar 2017 14:32:49 +0800</pubDate>
      <guid>https://blog.gtwang.org/programming/bash-tutorial-parallel-subprocesses-and-wait/</guid>
      <description>&lt;p&gt;本篇介紹在 Bash shell 中如何使用 &lt;code&gt;wait&lt;/code&gt; 等待背景子行程的執行，並取回每個行程執行結果。&lt;/p&gt;
&lt;p&gt;在 shell 程式設計中，為了讓程式執行起來更有效率，有時會讓多個子行程（subprocess）以 spawn 的方式放在背景執行，平行處理多項不同的工作，通常將需要等待硬碟 I/O 或網路回應的工作放在背景，可以程式執行的速度加快很多。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
