-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
49 changed files
with
3,571 additions
and
386 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,24 @@ | ||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bash on gobai's blog</title><link>/tags/bash/</link><description>Recent content in Bash on gobai's blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 23 Mar 2024 09:43:34 +0800</lastBuildDate><atom:link href="/tags/bash/index.xml" rel="self" type="application/rss+xml"/><item><title>Shell Script</title><link>/posts/shell-script/</link><pubDate>Sat, 23 Mar 2024 09:43:34 +0800</pubDate><guid>/posts/shell-script/</guid><description>最近写的shell脚本比较多,记录一些常用命令, 相当于记录一个索引, 以后用时可以快速回忆起来. | ||
#!/bin/bash #!/bin/bash被称为shebang line, 指定执行此脚本文件时使用/bin/bash做为shell解释器程序 | ||
很多主流操作系统默认的shell解释器也是bash | ||
# echo $SHELL /bin/bash set set命令用来修改shell环境的运行参数, 完整的可定制的官方手册 | ||
下面是我常用的几个, 可以合并为如下内容写在脚本开头: | ||
#!/bin/bash set -uxe set -o pipefail set -u 执行脚本时, 如果遇到不存在的变量, Bash默认会忽略, set -u可以让脚本读到不存在变量时报错 | ||
set -x 命令执行前会先打印出来, 行首以+表示, 在调试脚本时非常有帮助 | ||
set -e 执行脚本时, Bash遇到错误默认会继续执行, set -e使得脚本只要发生错误, 就中止执行 | ||
set -o pipefail set -e有一个例外情况, 就是不适用于管道命令, 比如下面的不会退出 | ||
#!/bin/bash set -e foo | echo a echo bar 执行的结果为: | ||
a set.sh: line 4: foo: command not found bar set -o pipefail可以解决这个问题, 只要一个子命令失败, 整个管道命令就失败, 脚本就会终止执行</description></item></channel></rss> | ||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bash on gobai's blog</title><link>/tags/bash/</link><description>Recent content in Bash on gobai's blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 23 Mar 2024 09:43:34 +0800</lastBuildDate><atom:link href="/tags/bash/index.xml" rel="self" type="application/rss+xml"/><item><title>Shell Script</title><link>/posts/shell-script/</link><pubDate>Sat, 23 Mar 2024 09:43:34 +0800</pubDate><guid>/posts/shell-script/</guid><description><blockquote> | ||
<p>最近写的shell脚本比较多,记录一些常用命令, 相当于记录一个索引, 以后用时可以快速回忆起来.</p> | ||
</blockquote> | ||
<h2 id="binbash"><code>#!/bin/bash</code></h2> | ||
<p><code>#!/bin/bash</code>被称为<code>shebang line</code>, 指定执行此脚本文件时使用<code>/bin/bash</code>做为shell解释器程序</p> | ||
<p>很多主流操作系统默认的shell解释器也是bash</p> | ||
<pre><code class="language-bash"># echo $SHELL | ||
/bin/bash | ||
</code></pre> | ||
<h2 id="set"><code>set</code></h2> | ||
<p><code>set</code>命令用来修改shell环境的运行参数, 完整的可定制的<a href="https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html">官方手册</a></p> | ||
<p>下面是我常用的几个, 可以合并为如下内容写在脚本开头:</p> | ||
<pre><code class="language-bash">#!/bin/bash | ||
set -uxe | ||
set -o pipefail | ||
</code></pre> | ||
<h3 id="set--u"><code>set -u</code></h3> | ||
<p>执行脚本时, 如果遇到不存在的变量, Bash默认会忽略, <code>set -u</code>可以让脚本读到不存在变量时报错</p> | ||
<h3 id="set--x"><code>set -x</code></h3> | ||
<p>命令执行前会先打印出来, 行首以<code>+</code>表示, 在调试脚本时非常有帮助</p> | ||
<h3 id="set--e"><code>set -e</code></h3> | ||
<p>执行脚本时, Bash遇到错误默认会继续执行, <code>set -e</code>使得脚本只要发生错误, 就中止执行</p> | ||
<h3 id="set--o-pipefail"><code>set -o pipefail</code></h3> | ||
<p><code>set -e</code>有一个例外情况, 就是不适用于管道命令, 比如下面的不会退出</p></description></item></channel></rss> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,33 @@ | ||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bridged-Network on gobai's blog</title><link>/tags/bridged-network/</link><description>Recent content in Bridged-Network on gobai's blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 04 Oct 2023 13:01:59 +0800</lastBuildDate><atom:link href="/tags/bridged-network/index.xml" rel="self" type="application/rss+xml"/><item><title>Creating a bridged network with netplan on Ubuntu 22.04</title><link>/posts/creating-a-bridged-network-with-netplan-on-ubuntu-22-04/</link><pubDate>Wed, 04 Oct 2023 13:01:59 +0800</pubDate><guid>/posts/creating-a-bridged-network-with-netplan-on-ubuntu-22-04/</guid><description>本地LAN环境 | ||
LAN网关 192.168.1.1 子网掩码 255.255.255.0 DHCP范围 192.168.1.2-192.168.32 创建一个bridged network 创建一个网桥br0给虚机使用,使得虚机和其他设备都在一个LAN下 | ||
总配置(netplan get)如下: | ||
network: version: 2 renderer: NetworkManager ethernets: enp1s0: dhcp4: false dhcp6: false bridges: br0: addresses: - &quot;192.168.1.100/24&quot; nameservers: addresses: - 192.168.1.1 dhcp4: false dhcp6: false interfaces: - enp1s0 parameters: stp: false routes: - to: &quot;default&quot; via: &quot;192.168.1.1&quot; 由三个文件组成: | ||
/etc/netplan/01-network-manager-all.yaml # Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager /etc/netplan/10-ethernet-enp1s0.yaml network: ethernets: enp1s0: dhcp4: false dhcp6: false /etc/netplan/99-bridged-network-br0.</description></item></channel></rss> | ||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bridged-Network on gobai's blog</title><link>/tags/bridged-network/</link><description>Recent content in Bridged-Network on gobai's blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 04 Oct 2023 13:01:59 +0800</lastBuildDate><atom:link href="/tags/bridged-network/index.xml" rel="self" type="application/rss+xml"/><item><title>Creating a bridged network with netplan on Ubuntu 22.04</title><link>/posts/creating-a-bridged-network-with-netplan-on-ubuntu-22-04/</link><pubDate>Wed, 04 Oct 2023 13:01:59 +0800</pubDate><guid>/posts/creating-a-bridged-network-with-netplan-on-ubuntu-22-04/</guid><description><p>本地LAN环境</p> | ||
<ol> | ||
<li>LAN网关 <code>192.168.1.1</code></li> | ||
<li>子网掩码 <code>255.255.255.0</code></li> | ||
<li>DHCP范围 <code>192.168.1.2</code>-<code>192.168.32</code></li> | ||
</ol> | ||
<h2 id="创建一个bridged-network">创建一个<code>bridged network</code></h2> | ||
<p>创建一个网桥<code>br0</code>给虚机使用,使得虚机和其他设备都在一个LAN下</p> | ||
<p>总配置(<code>netplan get</code>)如下:</p> | ||
<pre><code class="language-yaml">network: | ||
version: 2 | ||
renderer: NetworkManager | ||
ethernets: | ||
enp1s0: | ||
dhcp4: false | ||
dhcp6: false | ||
bridges: | ||
br0: | ||
addresses: | ||
- &quot;192.168.1.100/24&quot; | ||
nameservers: | ||
addresses: | ||
- 192.168.1.1 | ||
dhcp4: false | ||
dhcp6: false | ||
interfaces: | ||
- enp1s0 | ||
parameters: | ||
stp: false | ||
routes: | ||
- to: &quot;default&quot; | ||
via: &quot;192.168.1.1&quot; | ||
</code></pr</description></item></channel></rss> |
Oops, something went wrong.