shell的基本语法
一 赋值运算符
1 += :使用方法是,((x+=需要增加的数字))算和值。
2 *= :使用方法是,((x*=需要怎加的倍数))算乘值。
3 %= :使用方法是,((x%=需要除以的数字))算余数。
4 /=:使用方法是,((x/=需要除以的数字))算除值,取整。
二 bc的算法
可以算出小数部分,使用方法是echo 'scale=想要保留几位小数;数字/数字’| bc -l
换成百分数的方法是1, res=$(echo 'scale=想要保留几位小数;数字/数字’| bc -l |cut -d‘.’ -f2)
2. echo ${res}% 。
三 ,test命令
test后面加上一个表达式。-a表示两个表达式。
-o相当于逻辑或
-n 后面加上字符串
-z 测试字符串长度为零,结果才为真。
= 字符串是否相等
!= 字符不相等
-eq 判断数字是否相等
-ge 判断一个数字大于或等于另一个数字
-gt 判断一个数字大于另一个数字
-lt 判断一个数字小于另一个数字
-le判断一个数字小于或等于另一个数字
-ne 判断数字不相等
-b 文件存在并且是一个块设备文件
-d 文件存在并且是一个目录
-e 文件存在
-f 文件存在并且是普通文件
四 流程控制
1 要有解释器 是由#!/bin/bash解释的
2 if判断,后面跟上判断条件,后面可以跟任意命令
3 最后加上fi,就是if的反写
例图1
例图2
while循环结构
1 在执行的动作前面加上do
2 在执行动作的结尾加上done
例图1
例图2
shell中的for循环
1 for循环的格式for i in {操作的类容}
2 还是在操作的动作前面加上do
3 执行的动作
4 执行的动作最后加上done
shell的for,常用in列表方式
for i in 1 2 3
for i in {1,2,3}
for i in {1..9}
for i in {9..1}
for i in {a..z}
for i in {A..Z}
for i in {X..Z}
for i in $(cmd)
for i in $(find ...)
例图1
例图2
例图3
而c语言的for格式是
#!/bin/bash
for((初始值;循环控制的变量条件;变量变化))
do
执行变量的程序
done
例图
多个for嵌套
嵌套for中使用
continue:默认退出本次循环
break:默认退出本层循环
可以直接在命令行写for循环
for i in {1..10};do [ $i -eq 5 ] && continue || echo $i;done
for i in {1..10};do [ $i -eq 5 ] && break || echo $i;done
shell的基本语法的更多相关文章
- Linux Shell脚本简单语法汇总(Deepin下运行)
整理自: https://www.runoob.com/?s=shell Shell 脚本(shell script),是一种为 shell 编写的脚本程序. 业界所说的 shell 通常都是指 sh ...
- linux shell 常用基本语法
转自网络,真正来源不详.... 一. Linux基本命令 1.1. cp命令 该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,功能十分强大. 语法: cp [选项] 源文件或目录 目标文件或 ...
- linux之shell编程基本语法
Shell是用户与内核进行交互操作的一种接口,目前最流行的Shell称为bash Shell.Shell也是一门编程语言<解释型的编程语言>,即shell脚本<就是在用linux的s ...
- Bash shell编程的语法知识点(1)
Bash shell脚本编程知识点如下(初学,不全,欢迎讨论补充): shell简介 脚本的简单介绍 变量和引用 算术运算 交互式编程 选择判断 条件测试 循环 函数 shell简介 shell是一种 ...
- shell 常用命令语法简介
一.grep用法 ************************************** ++++++用一些特殊的函数来处理参数++++++ *$# 传递给函数的参数个数 *$* 显示所有传递给 ...
- shell脚本启动语法错误syntax error near unexpected token '{
执行shell脚本时失败,报语法错误,但脚本内容检查正常 原因为该脚本是在非Linux系统下编辑之后放到系统执行的,文件模式类型非Linux系统匹配的模式类型. 查看文件的模式类型 显示文件的模式类型 ...
- shell编程:基本语法
要掌握一门语言,就要先掌握它的语法.如同C语言一般,shell也有自己的语法. 变量 按照惯例,Shell变量通常由字母加下划线开头,由任意长度的字母.数字.下划线组成.有两种类型的Shell变量: ...
- shell基础 -- 基本语法
本文介绍一下 shell 的语法. 一.变量 在 shell 里,使用变量之前通常并不需要事先为他们做出声明,需要使用的时候直接创建就行了.默认情况下,所有变量都被看做字符串并以字符串来存储,即使它们 ...
- 转 关于shell中if 语法结构的广泛误解
转自 ttp://blog.csdn.net/security134/article/details/6742156 最近学习SHELL编程 这篇文章很好很重要.有些东西不能想当然.同时不是表面看起来 ...
- UNIX shell 学习笔记 一 : 几个shell的规则语法对比
1. 查看系统有哪些可用的shell cat /etc/shell 2. 每种shell都有一个特殊内置变量来存上一条命令的退出状态,例: C/TC shell $status % cp fx fy ...
随机推荐
- HTML5 Canvas ( 绘制一轮弯月, 星空中的弯月 )
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- leetcode977
public class Solution { public int[] SortedSquares(int[] A) { return A.Select(x => x * x).ToList( ...
- 使用seaborn制图(小提琴图)
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # 设置风格, ...
- win2008 server ping不同
win2008 server ping不同,网络正常. 下图可以解决!!!
- 搭建turbine时 hystrix MaxConcurrentConnections reached 异常
2017-03-28 10:04:47.438 ERROR 1035 --- [InstanceMonitor] c.n.t.monitor.instance.InstanceMonitor : Co ...
- binlog、redo log、undo log区别
root@(none) 04:17:18>show variables like 'innodb_log_group_home_dir';+--------------------------- ...
- com.google.gson的SerializedName解决实体类与关键字的重名
使用google的gson包,解决实体类中字段与java关键字的重名: // 比如 当实体类中有switch关键字时,解决冲突如下 @SerializedName("switch" ...
- 神经网络中embedding层作用——本质就是word2vec,数据降维,同时可以很方便计算同义词(各个word之间的距离),底层实现是2-gram(词频)+神经网络
Embedding tflearn.layers.embedding_ops.embedding (incoming, input_dim, output_dim, validate_indices= ...
- HttpClient 超时时间
setSoTimeout(MilSec):连接超时时间.如果在连接过程中有数据传输,超时时间重新计算. setConnectTimeout(MilSec):获取连接超时时间.如果该参数没有设置,那么默 ...
- import变量名,导入模块
想要把不同的模块名赋值到变量,然后import进来 直接使用下面的方法是不行的: moudle="os" import moudle 会提示下面的错误: ImportErr ...