随笔分类 - shell
摘要:Shell还提供了与( -a )、或( -o )、非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为:"!"最高,"-a"次之,"-o"最低 例子: 结果输出:
阅读全文
摘要:跳出循环 break命令 例: 结果输出 continue 运行代码发现,当输入大于5的数字时,该例中的循环不会结束,语句 echo "游戏结束" 永远不会被执行。
阅读全文
摘要:case 格式 #下面的脚本提示输入1到4,与每一种模式进行匹配 结果输出: case的语法和C family语言差别很大,它需要一个esac(就是case反过来)作为结束标记,每个case分支用右圆括号,用两个分号表示break。
阅读全文
摘要:until 循环 格式: #输出0~9 结果输出:
阅读全文
摘要:普通循环格式: 例子一 结果输出: #读取键盘输入 结果输出: 无限循环格式:
阅读全文
摘要:写成一行:for var in item1 item2 ... itemN; do command1; command2… done; #顺序输出 结果输出 #输出字符串中的字符 结果输出 例: 结果输出:
阅读全文
摘要:#如果ps -ef | grep -c "ssh"的结果大于一行,打印true #判断两个变量是否相等 输出 #test命令连用 输出
阅读全文
摘要:stdin输入可以从键盘,也可以从文件得到 stout命令执行完成,把成功结果输出到屏幕,默认是屏幕 stderr命令执行有错误,把错误也输出到屏幕上面,默认也是屏幕 文件描述符 标准输入stdin:对应的文件描述符是0,符号是<和<<,/dev/stdin -> /proc/self/fd/0 标
阅读全文
摘要:Shell 文件包含 Shell 文件包含的语法格式如下: 实例 创建两个 shell 脚本文件。 test1.sh 代码如下: test2.sh 代码如下: 接下来,我们为 test2.sh 添加可执行权限并执行:
阅读全文
摘要:范例:余弦值转角度 用 bc -l 计算,可以获得高精度: $ export cos=0.996293; echo "scale=100; a(sqrt(1-$cos^2)/$cos)*180/(a(1)*4)" | bc -l 4.934954755411383632719834036931840605159706398655243875372764917732 5495504159766...
阅读全文
摘要:浮点运算 let 和 expr 都无法进行浮点运算,但是 bc 和 awk 可以。 范例:求 1 除以 13,保留 3 位有效数字 $ echo "scale=3; 1/13" | bc .076 $ echo "1 13" | awk '{printf("%0.3fn",$1/$2)}' 0.077 说明: bc 在进行浮点运算时需指定精度,否则默认为 0,即进行浮点运算时,默认结果...
阅读全文
摘要:八进制的11 转换为十进制的9
阅读全文
摘要:$ expr 5 % 2 1 $ let i=5%2 $ echo $i 1 $ echo 5 % 2 | bc 1 $ ((i=5%2)) $ echo $i 1
阅读全文
摘要:$ let i=5**2 $ echo $i 25 $ ((i=5**2)) $ echo $i 25 $ echo "5^2" | bc 25
阅读全文
摘要:布尔运算 Bash 里的逻辑运算,与、或、非。 在 Shell 下如何进行逻辑运算 范例:true or false 单独测试 true 和 false,可以看出 true 是真值,false 为假 $ if true;then echo "YES"; else echo "NO"; fi YES $ if false;then echo "YES"; else echo "NO"; ...
阅读全文
摘要:执行脚本,输出结果如下所示: 其他处理参数: 注:echo -e “ ”(-e选项可以转义当中的\n \b等字符) 输出:
阅读全文
摘要:Shell 字符串 单引号 单引号字符串的限制: 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的; 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。 双引号 双引号的优点: 双引号里可以有变量 双引号里可以出现转义字符 拼接字符串
阅读全文
摘要:只读变量 使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。 下面的例子尝试更改只读变量,结果报错: 运行脚本,结果如下: 删除变量 使用 unset 命令可以删除变量。语法: 变量被删除后不能再次使用。unset 命令不能删除只读变量。 实例 以上实例执行将没有任何输出
阅读全文
摘要:获取数组中的所有元素 使用@ 或 * 可以获取数组中的所有元素,例如: 执行脚本,输出结果如下所示: 实例 执行脚本,输出结果如下所示: 执行脚本,输出结果如下所示: 输出为: c
阅读全文
摘要:以 # 开头的行就是注释,会被解释器忽略。 通过每一行加一个 # 号设置多行注释,像这样: #-------------------------------------------- # 这是一个注释 #-------------------------------------------- ##### 用户配置区 开始 ##### # # # 这里可以添加脚本描述信息 # # #####...
阅读全文