<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>archive</title><link>https://archive-w.netlify.app/devops/os/shell/</link><description>Recent content on archive</description><generator>Hugo</generator><language>zh-CN</language><atom:link href="https://archive-w.netlify.app/devops/os/shell/index.xml" rel="self" type="application/rss+xml"/><item><title/><link>https://archive-w.netlify.app/devops/os/shell/command/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://archive-w.netlify.app/devops/os/shell/command/</guid><description>&lt;p>hello command&lt;/p></description></item><item><title/><link>https://archive-w.netlify.app/devops/os/shell/record/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://archive-w.netlify.app/devops/os/shell/record/</guid><description>&lt;h2 id="命令记录">
 命令记录
 &lt;a class="anchor" href="#%e5%91%bd%e4%bb%a4%e8%ae%b0%e5%bd%95">#&lt;/a>
&lt;/h2>
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="shell" data-line="" class="language-shell line-numbers" style="max-height: none">&lt;code class="language-shell">#!/bin/bash
# 首例打印数字权限
ls -l | awk 'NR&amp;gt;1{cmd=&amp;quot;stat --printf \&amp;quot;%a\t\&amp;quot; &amp;quot;$9;system(cmd) ;print $0}'
&lt;/code>&lt;/pre>&lt;/div>
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="shell" data-line="" class="language-shell line-numbers" style="max-height: none">&lt;code class="language-shell">#!/bin/bash
# 批量删除统一后缀文件
find . -name &amp;quot;*.txt&amp;quot; -type f -delete
&lt;/code>&lt;/pre>&lt;/div>
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="shell" data-line="" class="language-shell line-numbers" style="max-height: none">&lt;code class="language-shell">#!/bin/bash
# 文件最好用&amp;quot;&amp;quot;包起来，另外&amp;quot;使用\转义
# 批量文件重命名
ls -l | awk 'NR&amp;gt;1{origin=substr($0,57);now=substr($0,105);cmd=&amp;quot;mv &amp;quot; &amp;quot;\&amp;quot;&amp;quot; origin &amp;quot;\&amp;quot;&amp;quot; &amp;quot; &amp;quot; &amp;quot;\&amp;quot;&amp;quot; now &amp;quot;\&amp;quot;&amp;quot;;system(cmd);}'
# awk 制定截取字符
ls -l | grep '小鱼儿' | awk '{origin=substr($0,index($0,$9),match($0,/\.mp3/));now=&amp;quot;_1_&amp;quot;origin;cmd=&amp;quot;mv &amp;quot; &amp;quot;\&amp;quot;&amp;quot;origin&amp;quot;\&amp;quot;&amp;quot; &amp;quot; &amp;quot; &amp;quot;\&amp;quot;&amp;quot;now&amp;quot;\&amp;quot;&amp;quot;;print cmd}'
&lt;/code>&lt;/pre>&lt;/div>
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="shell" data-line="" class="language-shell line-numbers" style="max-height: none">&lt;code class="language-shell">#!/bin/bash
# curl 返回状态码
curl https://www.baidu.com -I -m 10 -o /dev/null -s -w &amp;quot;%{http_code}\n&amp;quot;
&lt;/code>&lt;/pre>&lt;/div>
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="shell" data-line="" class="language-shell line-numbers" style="max-height: none">&lt;code class="language-shell">#!/bin/bash
# 删除100分钟内刚猜解压的文件夹及文件，注意这次包含当前目录，需要排除 [.]
find . \( -path &amp;quot;./WEB-INF&amp;quot; -prune -o -cmin -100 \) ! -path './.DS_Store' -ok rm -rf {} \;
&lt;/code>&lt;/pre>&lt;/div>
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="shell" data-line="" class="language-shell line-numbers" style="max-height: none">&lt;code class="language-shell">#!/bin/bash
# curl ftp 上传
curl -u wang: -T /Users/stevenobelia/Downloads/temporary-download/阳光电影www.ygdy8.com.拆弹专家2.HD.1080p.国语中字.mkv/阳光电影www.ygdy8.com.拆弹专家2.HD.1080p.国语中 字.mkv ftp://192.168.2.2:2121/Download/
&lt;/code>&lt;/pre>&lt;/div>
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="shell" data-line="" class="language-shell line-numbers" style="max-height: none">&lt;code class="language-shell">#!/bin/bash
# xargs 连接多个命令
echo 'obase=10;ibase=16;00020000' | bc | xargs -I % bash -c 'echo &amp;quot;%/2014/2014&amp;quot; | bc '
&lt;/code>&lt;/pre>&lt;/div>
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="shell" data-line="" class="language-shell line-numbers" style="max-height: none">&lt;code class="language-shell">#!/bin/bash
# 将当前目录下的文件移动到当前目录新建目录中
ls ./ | grep -v 'docs' | xargs -n 1 -I {} mv {} docs
&lt;/code>&lt;/pre>&lt;/div>
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="shell" data-line="" class="language-shell line-numbers" style="max-height: none">&lt;code class="language-shell">#!bin/bash
# 批量修改问价后缀
rename 's/\.jpg$/.webp/' *.jpg
&lt;/code>&lt;/pre>&lt;/div>
&lt;p class="warn">批量转换 webm 到gif
&lt;br>&lt;code>find webps/ -type f -name &amp;quot;*.webp&amp;quot; -print0 | xargs -0 -I{} sh -c 'ffmpeg -y -loglevel quiet -i &amp;quot;{}&amp;quot; -pix_fmt rgb24 &amp;quot;webps-gif/$(basename {}).gif&amp;quot;'&lt;/code>&lt;/p></description></item><item><title/><link>https://archive-w.netlify.app/devops/os/shell/syntax/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://archive-w.netlify.app/devops/os/shell/syntax/</guid><description>&lt;h2 id="shell环境">
 Shell环境
 &lt;a class="anchor" href="#shell%e7%8e%af%e5%a2%83">#&lt;/a>
&lt;/h2>
&lt;blockquote>
&lt;p>Shell 变成跟JavaScript，php编程一样，只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。Linux下面的shell很多，常见的又：&lt;/p>
&lt;p>检查是否存在某个文件的命令：&lt;/p>
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="shell" data-line="" class="language-shell line-numbers" style="max-height: none">&lt;code class="language-shell"># test命令检测
test -e ./shizi.jpg &amp;amp;&amp;amp; echo 'found' || echo &amp;quot;not&amp;quot;

# [] 方括号检测 *括号内前后都有空格
[ -f ./shizi.jpg ] &amp;amp;&amp;amp; echo 'found' || echo 'not'
&lt;/code>&lt;/pre>&lt;/div>
&lt;/blockquote>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>名称&lt;/th>
&lt;th>路径&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Bourne Shell&lt;/td>
&lt;td>&lt;code>/usr/bin/sh 或者 /bin/sh&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Bourne Again Shell&lt;/td>
&lt;td>&lt;code>/bin/bash&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>C Shell&lt;/td>
&lt;td>&lt;code>/usr/bin/csh&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>K Shell&lt;/td>
&lt;td>&lt;code>/usr/bin/ksh&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Shell for Root&lt;/td>
&lt;td>&lt;code>/sbin/sh&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>……&lt;/td>
&lt;td>&lt;code>……&lt;/code>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;blockquote>
&lt;p>&lt;em>&lt;code>#!&lt;/code>后面跟解释器路径&lt;/em>&lt;/p>
&lt;p>#!/bin/sh	#!/sbin/sh #!/bin/bash&lt;/p>
&lt;/blockquote>
&lt;h2 id="shell变量">
 Shell变量
 &lt;a class="anchor" href="#shell%e5%8f%98%e9%87%8f">#&lt;/a>
&lt;/h2>
&lt;h3 id="定义变量">
 定义变量
 &lt;a class="anchor" href="#%e5%ae%9a%e4%b9%89%e5%8f%98%e9%87%8f">#&lt;/a>
&lt;/h3>
&lt;blockquote>
&lt;p>定义变量时，变量名不加美元符号（$) ，而且变量之间不能有空格。&lt;/p></description></item></channel></rss>