<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>shell - 标签 - 菠菜眾長</title><link>https://lruihao.cn/tags/shell/</link><description>shell - 标签 - 菠菜眾長</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><managingEditor>1024@lruihao.cn (Lruihao)</managingEditor><webMaster>1024@lruihao.cn (Lruihao)</webMaster><lastBuildDate>Mon, 04 Oct 2021 23:49:00 +0800</lastBuildDate><atom:link href="https://lruihao.cn/tags/shell/" rel="self" type="application/rss+xml"/><item><title>Hugo 本地管理 Shell 腳本</title><link>https://lruihao.cn/posts/hugo-admin/</link><pubDate>Mon, 04 Oct 2021 23:49:00 +0800</pubDate><author>Lruihao</author><guid>https://lruihao.cn/posts/hugo-admin/</guid><description><![CDATA[<div class="details admonition abstract open">
    <div class="details-summary admonition-title">
      <i class="icon fa-solid fa-list-ul fa-fw" aria-hidden="true"></i>摘要<i class="details-icon fa-solid fa-angle-right fa-fw" aria-hidden="true"></i>
    </div>
    <div class="details-content">
      <div class="admonition-content">在使用 hugo 寫博客的過程中會使用到一些命令，包括 Git 的使用也會用到 Git 命令，但是這些命令我感覺知道就好，沒必要因輸入命令而增加寫博客和部署博客的額外工作。<br>
自然要想辦法簡化這些過程，Git 還好有 SourceTree 等工具，Hugo 卻沒有，也懶得去網絡上找類似以前 hexo 有 hexo-admin 的插件可以讓大家在瀏覽器寫博客，因為我覺得這和靜態博客初衷背道而馳，於是我就折中方案，寫了一個滿足日常需求的 Shell 腳本，生成管理本地博客。</div>
    </div>
  </div>
<h2 id="實現">實現</h2>
<p>一共六個腳本，放在 <code>hugo-site/_localadmin/</code> 下</p>
<pre><code>_localadmin/
  ├── auto_push.sh       # 自動化提交源碼
  ├── hugo_builder.sh    # 構建 hugo 命令
  ├── hugo_main.sh       # 主介面入口
  ├── hugo_server.sh     # 啟動本地服務
  ├── post_generator.sh  # 創建文章
  └── public_async.sh    # 同步 public 子模組
</code></pre>
<h3 id="post_generatorsh">post_generator.sh</h3>
<ol>
<li>輸入文章名稱 （建議使用英文）</li>
<li>文章是否會插入圖片等資源 （默認：否）</li>
</ol>
<div class="highlight" id="id-1"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="cp">#!/bin/bash
</span></span></span><span class="line"><span class="cl"><span class="cp"></span><span class="c1">#author: Lruihao</span>
</span></span><span class="line"><span class="cl"><span class="nb">cd</span> ..
</span></span><span class="line"><span class="cl"><span class="nb">read</span> -p <span class="s2">&#34;Please enter the article name: &#34;</span> postName
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="o">[</span> -z <span class="nv">$postName</span> <span class="o">]</span><span class="p">;</span><span class="k">then</span>
</span></span><span class="line"><span class="cl">  <span class="nb">echo</span> <span class="s2">&#34;The article name is required!&#34;</span>
</span></span><span class="line"><span class="cl"><span class="k">else</span>
</span></span><span class="line"><span class="cl">  <span class="nb">read</span> -p <span class="s2">&#34;Will there be pictures in this article? [y/n]...&#34;</span> choice
</span></span><span class="line"><span class="cl">  <span class="k">if</span> <span class="o">[</span> <span class="nv">$choice</span> <span class="o">=</span> <span class="s2">&#34;y&#34;</span> <span class="o">]</span><span class="p">;</span><span class="k">then</span>
</span></span><span class="line"><span class="cl">    hugo new posts/<span class="nv">$postName</span>/index.md
</span></span><span class="line"><span class="cl">  <span class="k">else</span>
</span></span><span class="line"><span class="cl">    hugo new posts/<span class="nv">$postName</span>.md
</span></span><span class="line"><span class="cl">  <span class="k">fi</span>
</span></span><span class="line"><span class="cl"><span class="k">fi</span></span></span></code></pre></td></tr></table>
</div>
</div><h3 id="hugo_serversh">hugo_server.sh</h3>
<div class="highlight" id="id-2"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">cd</span> ..
</span></span><span class="line"><span class="cl">hugo server --disableFastRender</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="hugo_buildersh">hugo_builder.sh</h3>
<div class="highlight" id="id-3"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">cd</span> ..
</span></span><span class="line"><span class="cl">hugo --minify</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="public_asyncsh">public_async.sh</h3>
<div class="highlight" id="id-4"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">cd</span> ..
</span></span><span class="line"><span class="cl">git submodule update --remote
</span></span><span class="line"><span class="cl">git add public
</span></span><span class="line"><span class="cl">git commit -m <span class="s2">&#34;Feat: Update public module commit id&#34;</span></span></span></code></pre></td></tr></table>
</div>
</div><h3 id="auto_pushsh">auto_push.sh</h3>
<p>不輸入 Git 提交訊息會使用腳本中默認訊息 <code>Docs: 『菠菜眾長』内容更新 YYYY-MM-DD week hh:mm::ss</code></p>
<div class="highlight" id="id-5"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="cp">#!/bin/bash
</span></span></span><span class="line"><span class="cl"><span class="cp"></span><span class="c1">#author: Lruihao</span>
</span></span><span class="line"><span class="cl"><span class="nb">cd</span> ..
</span></span><span class="line"><span class="cl"><span class="c1"># 是否需要每次提交自動更新子模組</span>
</span></span><span class="line"><span class="cl"><span class="c1"># git submodule update --remote</span>
</span></span><span class="line"><span class="cl"><span class="c1"># git add public</span>
</span></span><span class="line"><span class="cl"><span class="c1"># git commit -m &#34;Feat: Update public module commit id&#34;</span>
</span></span><span class="line"><span class="cl">git add .
</span></span><span class="line"><span class="cl"><span class="nb">read</span> -p <span class="s2">&#34;Please enter commit message: &#34;</span> commitMsg
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="o">[</span> -z <span class="nv">$commitMsg</span> <span class="o">]</span><span class="p">;</span><span class="k">then</span>
</span></span><span class="line"><span class="cl">  <span class="nv">commitMsg</span><span class="o">=</span><span class="s2">&#34;Docs: 『菠菜眾長』内容更新 </span><span class="k">$(</span>date +<span class="s1">&#39;%F %a %T&#39;</span><span class="k">)</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl"><span class="k">fi</span>
</span></span><span class="line"><span class="cl">git commit -m <span class="s2">&#34;</span><span class="nv">$commitMsg</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">git push</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="hugo_mainsh">hugo_main.sh</h3>
<blockquote>
<p>可單獨執行子腳本也可以通過主介面來選擇序號執行</p>
</blockquote>
<div class="highlight" id="id-6"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span><span class="lnt">33
</span><span class="lnt">34
</span><span class="lnt">35
</span><span class="lnt">36
</span><span class="lnt">37
</span><span class="lnt">38
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="cp">#!/bin/bash
</span></span></span><span class="line"><span class="cl"><span class="cp"></span><span class="c1">#author: Lruihao</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;Please enter the serial number to work&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;--------------------------------------&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;1. post generator&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;2. hugo server&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;3. hugo build&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;4. public async&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;5. auto push&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;--------------------------------------&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;Press Ctrl+C to stop&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">read</span> num
</span></span><span class="line"><span class="cl"><span class="k">case</span> <span class="nv">$num</span> in
</span></span><span class="line"><span class="cl">  1<span class="o">)</span>
</span></span><span class="line"><span class="cl">    sh post_generator.sh
</span></span><span class="line"><span class="cl">    <span class="p">;;</span>
</span></span><span class="line"><span class="cl">  2<span class="o">)</span>
</span></span><span class="line"><span class="cl">    sh hugo_server.sh
</span></span><span class="line"><span class="cl">    <span class="p">;;</span>
</span></span><span class="line"><span class="cl">  3<span class="o">)</span>
</span></span><span class="line"><span class="cl">    sh hugo_builder.sh
</span></span><span class="line"><span class="cl">    <span class="p">;;</span>
</span></span><span class="line"><span class="cl">  4<span class="o">)</span>
</span></span><span class="line"><span class="cl">    sh public_async.sh
</span></span><span class="line"><span class="cl">    <span class="p">;;</span>
</span></span><span class="line"><span class="cl">  5<span class="o">)</span>
</span></span><span class="line"><span class="cl">    sh auto_push.sh
</span></span><span class="line"><span class="cl">    <span class="p">;;</span>
</span></span><span class="line"><span class="cl">  *<span class="o">)</span>
</span></span><span class="line"><span class="cl">    <span class="nb">echo</span> <span class="s2">&#34;There is no such serial number&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="p">;;</span>
</span></span><span class="line"><span class="cl"><span class="k">esac</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;Press any key to continue...&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">read</span> x
</span></span><span class="line"><span class="cl">clear
</span></span><span class="line"><span class="cl">sh hugo_main.sh</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="使用">使用</h2>
<ol>
<li>將 <code>hugo_main.sh</code> 建立桌面快捷鍵</li>
<li>雙擊 <code>hugo_main.sh</code> 進入根據提示使用即可</li>
</ol>
<p>由於一般寫博客會便邊寫邊預覽，所以一般開兩個主介面窗口，如下圖：</p>
<blockquote>
<ul>
<li>一個選擇 <code>2</code> 啟動本地服務</li>
<li>一個用於生成文章，部署文章等</li>
</ul>
</blockquote>
<p><figure><a class="lightgallery" href="/posts/hugo-admin/images/hugo-admin1.png" data-thumbnail="/posts/hugo-admin/images/hugo-admin1.png" data-sub-html="<h2>Hugo Admin</h2><p>Hugo Admin</p>"></a><figcaption class="image-caption">Hugo Admin</figcaption>
  </figure></p>]]></description></item><item><title>Cron 表达式的基本语法</title><link>https://lruihao.cn/posts/cron/</link><pubDate>Wed, 25 Mar 2020 09:19:44 +0000</pubDate><author>Lruihao</author><guid>https://lruihao.cn/posts/cron/</guid><description><![CDATA[<h2 id="基本语法">基本语法</h2>
<blockquote>
<p><code>&lt;秒&gt; &lt;分钟&gt; &lt;小时&gt; &lt;日期 day-of-month&gt; &lt;月份&gt; &lt;星期 day-of-week&gt;</code></p>
</blockquote>
<p>Cron 表达式是一个具有时间含义的字符串，字符串以 5 个空格隔开，分为 6 个域，格式为 <code>X X X X X X</code>。其中 X 是一个域的占位符。单个域有多个取值时，使用半角逗号，隔开取值。每个域可以是确定的取值，也可以是具有逻辑意义的特殊字符。</p>
<h2 id="域取值">域取值</h2>
<table>
<thead>
<tr>
<th>位置</th>
<th>字段</th>
<th>约束</th>
<th>取值</th>
<th>可使用的特殊符号</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>秒</td>
<td>必须</td>
<td>0-59</td>
<td><code>, - * /</code></td>
</tr>
<tr>
<td>2</td>
<td>分钟</td>
<td>必须</td>
<td>0-59</td>
<td><code>, - * /</code></td>
</tr>
<tr>
<td>3</td>
<td>小时</td>
<td>必须</td>
<td>0-23（0 为午夜）</td>
<td><code>, - * /</code></td>
</tr>
<tr>
<td>4</td>
<td>日期</td>
<td>必须</td>
<td>1-31</td>
<td><code>, - * ? / L W</code></td>
</tr>
<tr>
<td>5</td>
<td>月份</td>
<td>必须</td>
<td>1-12 或者 JAN-DEC</td>
<td><code>, - * /</code></td>
</tr>
<tr>
<td>6</td>
<td>星期</td>
<td>必须</td>
<td>1-7 或者 SUN-SAT (<code>1</code> 代表星期一）</td>
<td><code>, - ? / L #</code></td>
</tr>
</tbody>
</table>
<h2 id="特殊符号">特殊符号</h2>
<table>
<thead>
<tr>
<th style="text-align:left">符号</th>
<th style="text-align:left">含义</th>
<th style="text-align:left">示例</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><code>*</code></td>
<td style="text-align:left">所有可能的值。</td>
<td style="text-align:left">在月域中，<code>*</code>表示每个月；在星期域中，<code>*</code>表示星期的每一天。</td>
</tr>
<tr>
<td style="text-align:left"><code>,</code></td>
<td style="text-align:left">列出枚举值。</td>
<td style="text-align:left">在分钟域中，<code>5,20</code>表示分别在 5 分钟和 20 分钟触发一次。</td>
</tr>
<tr>
<td style="text-align:left"><code>-</code></td>
<td style="text-align:left">范围。</td>
<td style="text-align:left">在分钟域中，<code>5-20</code>表示从 5 分钟到 20 分钟之间每隔一分钟触发一次。</td>
</tr>
<tr>
<td style="text-align:left"><code>/</code></td>
<td style="text-align:left">指定数值的增量。</td>
<td style="text-align:left">在分钟域中，<code>0/15</code>表示从第 0 分钟开始，每 15 分钟。在分钟域中<code>3/20</code>表示从第 3 分钟开始，每 20 分钟。<strong>*/</strong> 和 <strong>0/</strong> 相同</td>
</tr>
<tr>
<td style="text-align:left"><code>?</code></td>
<td style="text-align:left">不指定值，仅日期和星期域支持该字符。</td>
<td style="text-align:left">当日期或星期域其中之一被指定了值以后，为了避免冲突，需要将另一个域的值设为<code>?</code>。</td>
</tr>
<tr>
<td style="text-align:left"><code>L</code></td>
<td style="text-align:left">单词 Last 的首字母，表示最后一天，仅日期和星期域支持该字符。<strong>说明</strong> 指定<code>L</code>字符时，避免指定列表或者范围，否则，会导致逻辑问题。</td>
<td style="text-align:left">在日期域中，<code>L</code>表示某个月的最后一天。在星期域中，<code>L</code>表示一个星期的最后一天，也就是星期日（<code>SUN</code>）。如果在<code>L</code>前有具体的内容，例如，在星期域中的<code>6L</code>表示这个月的最后一个星期六。</td>
</tr>
<tr>
<td style="text-align:left"><code>W</code></td>
<td style="text-align:left">除周末以外的有效工作日，在离指定日期的最近的有效工作日触发事件。<code>W</code>字符寻找最近有效工作日时不会跨过当前月份，连用字符<code>LW</code>时表示为指定月份的最后一个工作日。</td>
<td style="text-align:left">在日期域中<code>5W</code>，如果 5 日是星期六，则将在最近的工作日星期五，即 4 日触发。如果 5 日是星期天，则将在最近的工作日星期一，即 6 日触发；如果 5 日在星期一到星期五中的一天，则就在 5 日触发。</td>
</tr>
<tr>
<td style="text-align:left"><code>#</code></td>
<td style="text-align:left">确定每个月第几个星期几，仅星期域支持该字符。</td>
<td style="text-align:left">在星期域中，<code>4#2</code>表示某月的第二个星期四。</td>
</tr>
</tbody>
</table>
<h2 id="举个栗子-">举个栗子 🌰</h2>
<table>
<thead>
<tr>
<th style="text-align:left">表达式</th>
<th style="text-align:left">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><code>0 0/5 * * * ?</code></td>
<td style="text-align:left">每隔 5 分钟执行一次</td>
</tr>
<tr>
<td style="text-align:left"><code>10 0/5 * * * ?</code></td>
<td style="text-align:left">每隔 5 分钟执行一次，每次执行都在分钟开始的 10 秒，例如 10:00:10、10:05:10 等等。</td>
</tr>
<tr>
<td style="text-align:left"><code>0 30 10-13 ? * WED,FRI</code></td>
<td style="text-align:left">每周三和每周五的 10:30、11:30、12:30、13:30 执行。</td>
</tr>
<tr>
<td style="text-align:left"><code>0 0/30 8-9 5,20 * ?</code></td>
<td style="text-align:left">每个月的 5 号和 20 号的 8 点和 10 点之间每隔 30 分钟执行一次，也就是 8:00、8:30、9:00 和 9:30。</td>
</tr>
<tr>
<td style="text-align:left"><code>0 15 10 ? * *</code></td>
<td style="text-align:left">每天上午 10:15 执行任务</td>
</tr>
<tr>
<td style="text-align:left"><code>0 15 10 * * ?</code></td>
<td style="text-align:left">每天上午 10:15 执行任务</td>
</tr>
<tr>
<td style="text-align:left"><code>0 0 12 * * ?</code></td>
<td style="text-align:left">每天中午 12:00 执行任务</td>
</tr>
<tr>
<td style="text-align:left"><code>0 0 10,14,16 * * ?</code></td>
<td style="text-align:left">每天上午 10:00 点、下午 14:00 以及下午 16:00 执行任务</td>
</tr>
<tr>
<td style="text-align:left"><code>0 0/30 9-17 * * ?</code></td>
<td style="text-align:left">每天上午 09:00 到下午 17:00 时间段内每隔半小时执行任务</td>
</tr>
<tr>
<td style="text-align:left"><code>0 * 14 * * ?</code></td>
<td style="text-align:left">每天下午 14:00 到下午 14:59 时间段内每隔 1 分钟执行任务</td>
</tr>
<tr>
<td style="text-align:left"><code>0 0-5 14 * * ?</code></td>
<td style="text-align:left">每天下午 14:00 到下午 14:05 时间段内每隔 1 分钟执行任务</td>
</tr>
<tr>
<td style="text-align:left"><code>0 0/5 14 * * ?</code></td>
<td style="text-align:left">每天下午 14:00 到下午 14:55 时间段内每隔 5 分钟执行任务</td>
</tr>
<tr>
<td style="text-align:left"><code>0 0/5 14,18 * * ?</code></td>
<td style="text-align:left">每天下午 14:00 到下午 14:55、下午 18:00 到下午 18:55 时间段内每隔 5 分钟执行任务</td>
</tr>
<tr>
<td style="text-align:left"><code>0 0 12 ? * WED</code></td>
<td style="text-align:left">每个星期三中午 12:00 执行任务</td>
</tr>
<tr>
<td style="text-align:left"><code>0 15 10 15 * ?</code></td>
<td style="text-align:left">每月 15 日上午 10:15 执行任务</td>
</tr>
<tr>
<td style="text-align:left"><code>0 15 10 L * ?</code></td>
<td style="text-align:left">每月最后一日上午 10:15 执行任务</td>
</tr>
<tr>
<td style="text-align:left"><code>0 15 10 ? * 6L</code></td>
<td style="text-align:left">每月最后一个星期六上午 10:15 执行任务</td>
</tr>
<tr>
<td style="text-align:left"><code>0 15 10 ? * 6#3</code></td>
<td style="text-align:left">每月第三个星期六上午 10:15 执行任务</td>
</tr>
<tr>
<td style="text-align:left"><code>0 10,44 14 ? 3 WED</code></td>
<td style="text-align:left">每年 3 月的每个星期三下午 14:10 和 14:44 执行任务</td>
</tr>
</tbody>
</table>]]></description></item><item><title>shell 脚本初体验</title><link>https://lruihao.cn/posts/shell/</link><pubDate>Mon, 29 Oct 2018 11:57:39 +0000</pubDate><author>Lruihao</author><guid>https://lruihao.cn/posts/shell/</guid><description><![CDATA[<p>今天上机学了几个小命令</p>
<ul>
<li>read</li>
<li>echo</li>
<li>if</li>
</ul>
<p>然后自己写了一个小脚本觉得还挺有趣的</p>
<div class="highlight" id="id-1"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span><span class="lnt">33
</span><span class="lnt">34
</span><span class="lnt">35
</span><span class="lnt">36
</span><span class="lnt">37
</span><span class="lnt">38
</span><span class="lnt">39
</span><span class="lnt">40
</span><span class="lnt">41
</span><span class="lnt">42
</span><span class="lnt">43
</span><span class="lnt">44
</span><span class="lnt">45
</span><span class="lnt">46
</span><span class="lnt">47
</span><span class="lnt">48
</span><span class="lnt">49
</span><span class="lnt">50
</span><span class="lnt">51
</span><span class="lnt">52
</span><span class="lnt">53
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl"><span class="cp">#!/bin/bash
</span></span></span><span class="line"><span class="cl"><span class="cp"></span><span class="c1">#liruihao</span>
</span></span><span class="line"><span class="cl"><span class="c1">#menu.sh</span>
</span></span><span class="line"><span class="cl"><span class="c1">#sudo apt curl install nyancat sl figlet toilet cowsay</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;-------------菜-单--------------&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;------------1-打印二维码--------&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;------------2-彩虹猫------------&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;------------3-小火切------------&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;------------4-打字机------------&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;------------5-小许牛------------&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;----------Ctrl+c 暂停程序--------&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;请输入序号！&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">read</span> i
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="nb">test</span> <span class="nv">$i</span> -eq <span class="m">1</span>
</span></span><span class="line"><span class="cl"><span class="k">then</span>
</span></span><span class="line"><span class="cl">	<span class="nb">echo</span> <span class="s2">&#34;请输入网址！&#34;</span>
</span></span><span class="line"><span class="cl">	<span class="nb">read</span> s1
</span></span><span class="line"><span class="cl">       	<span class="nb">echo</span> <span class="nv">$s1</span> <span class="p">|</span>curl -F-<span class="o">=</span><span class="se">\&lt;</span>- qrenco.de
</span></span><span class="line"><span class="cl"><span class="k">fi</span>
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="nb">test</span> <span class="nv">$i</span> -eq <span class="m">2</span>
</span></span><span class="line"><span class="cl"><span class="k">then</span>
</span></span><span class="line"><span class="cl">	nyancat
</span></span><span class="line"><span class="cl"><span class="k">fi</span>
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="nb">test</span> <span class="nv">$i</span> -eq <span class="m">3</span>
</span></span><span class="line"><span class="cl"><span class="k">then</span>
</span></span><span class="line"><span class="cl">	sl
</span></span><span class="line"><span class="cl"><span class="k">fi</span>
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="nb">test</span> <span class="nv">$i</span> -eq <span class="m">4</span>
</span></span><span class="line"><span class="cl"><span class="k">then</span>
</span></span><span class="line"><span class="cl">	<span class="nb">echo</span> <span class="s2">&#34;请输入字符串！&#34;</span>
</span></span><span class="line"><span class="cl">	<span class="nb">read</span> s2
</span></span><span class="line"><span class="cl">	<span class="nb">echo</span> <span class="s2">&#34;选择样式：&#34;</span>
</span></span><span class="line"><span class="cl">	<span class="nb">echo</span> <span class="s2">&#34;------样式 1-----&#34;</span>
</span></span><span class="line"><span class="cl">	<span class="nb">echo</span> <span class="s2">&#34;------样式 2-----&#34;</span>
</span></span><span class="line"><span class="cl">	<span class="nb">read</span> j
</span></span><span class="line"><span class="cl">	<span class="k">if</span> <span class="nb">test</span> <span class="nv">$j</span> -eq <span class="m">1</span>
</span></span><span class="line"><span class="cl">	<span class="k">then</span>
</span></span><span class="line"><span class="cl">		figlet <span class="nv">$s2</span>
</span></span><span class="line"><span class="cl">	<span class="k">else</span>
</span></span><span class="line"><span class="cl">		toilet -f mono12 -F gay <span class="nv">$s2</span>
</span></span><span class="line"><span class="cl">	<span class="k">fi</span>
</span></span><span class="line"><span class="cl"><span class="k">fi</span>
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="nb">test</span> <span class="nv">$i</span> -eq <span class="m">5</span>
</span></span><span class="line"><span class="cl"><span class="k">then</span>
</span></span><span class="line"><span class="cl">	<span class="nb">echo</span> <span class="s2">&#34;请输入字符串！&#34;</span>
</span></span><span class="line"><span class="cl">	<span class="nb">read</span> s3
</span></span><span class="line"><span class="cl">	cowsay <span class="nv">$s3</span>
</span></span><span class="line"><span class="cl"><span class="k">fi</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;任意建继续！&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">read</span> x
</span></span><span class="line"><span class="cl">clear
</span></span><span class="line"><span class="cl">./menu.sh</span></span></code></pre></td></tr></table>
</div>
</div><p>




</p>]]></description></item></channel></rss>