shell命令
<h4>脚本中用到的命令:</h4>
<p>1. ((timeout - -))说明:</p>
<pre><code>给timeout的一个初始值,该命令实现一个减时器的功能。
timeout:行指定的命令,如果在指定时间后仍在运行,则杀死该进程。用来控制程序运行的时间
例如:
timeout 10 top :如果在10s之后top命令还在运行,就kill掉top进程</code></pre>
<p>2. if 判断相关参数说明</p>
<pre><code>-s :#文件大小非零为真
-r :#文件存在且可读
-ne :#不等于为真
-n:#字符串长度大于零为真
-z: 字符串长度为0 为真
-x:如果文件存在且可执行为真
-S:文件存在且是为socket文件</code></pre>
<p>3. 脚本中使用set</p>
<pre><code>set +e:当这句之后遇到非零的返回值,会继续执行
set -e:当这句遇到非零返回值,会直接退出</code></pre>
<p>4. 字符串截取</p>
<pre><code>${#VALUE}:计算VALUE字符串的字符数量。
${VALUE%.*}或${VALUE%%.*}:删除VALUE字符串中以分隔符“.”匹配的右边字符,保留左边字符。
${VALUE#*.}或${VALUE##*.}:删除VALUE字符串中以分隔符“.”匹配的左边字符,保留右边字符。
${VALUE/OLD/NEW}或${VALUE//OLD/NEW}:用NEW子串替换VALUE字符串中匹配的OLD子串。
${string: start :length}: 从 string 字符串的左边第 start 个字符开始,向右截取 length 个字符。
${string: start} : 从 string 字符串的左边第 start 个字符开始截取,直到最后。
${string: 0-start} : 从 string 字符串的右边第 start 个字符开始截取,直到最后。
${string#*chars} : 从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。
${string##*chars} : 从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。
${string%chars*} : 从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。
${string%%chars*} : 从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。</code></pre>
<p>5. printenv命令说明</p>
<pre><code>显示指定的环境变量的值,如果没有指定变量,则打印出所有变量的名称和值。
通过printenv命令,我们可以查看到当前的shell,和shell的环境变量,和其它一些常见的配置 。</code></pre>
<p>6. {{var:- valuename}}使用说明:</p>
<pre><code>${varname:-word},如果varname存在且非null,则返回其值;否则,返回word。
用途:如果变量未定义,则返回默认值。</code></pre>