京峰JF2115-Day45上课笔记
1、SHELL编程变量命名规范;
变量分为:系统变量、环境变量、用户变量;
定义变量时使用=赋值,无需通过declare定义变量的类型;
变量赋值时,=前后是不能有空格的;
变量通常使用大写字母定义,不推荐小写字母(跟命令冲突);
变量定义不能使用数字开头,可以使用数字结尾;
变量定义,变量名称之间不能使用-横杠,可以使用_下划线;
变量定义的名称尽量跟值保持相关性,不要随机定义名称;
变量定义的值,如果存在空格必须使用引号将其变成整体;
2、SHELL编程IF语句案例实战
1)if语句固定的语法格式:
if (表达式);then
动作1
else
动作2
fi
2)If语句常用参数和表达式;
-f
判断文件是否存在 eg: if [ -f filename ];
-d
判断目录是否存在 eg: if [ -d dir
];
-eq
等于,应用于整型比较 equal;
-ne
不等于,应用于整型比较 not equal;-lt
小于,应用于整型比较 letter;
-gt
大于,应用于整型比较 greater;
-le
小于或等于,应用于整型比较;
-ge
大于或等于,应用于整型比较;
-a
双方都成立(and) 逻辑表达式 –a 逻辑表达式;
-o
单方成立(or) 逻辑表达式 –o 逻辑表达式;
-z
空字符串;
||
单方成立;
&&
双方都成立表达式。
3)IF语句常用的括号的含义;
( )
用于多个命令组、命令替换、初始化数组;
(( ))
整数扩展、运算符、重定义变量值,算术运算比较;
[]
bash内部命令,[与test是等同的,正则字符范围、引用数组元素编号,不支持
+-*/数学运算符,逻辑测试使用-a、-o。
[[ ]]
bash程序语言的关键字,不是一个命令,[[ ]]结构比[ ]结构更加通用,不支持
+-*/数学运算符,逻辑测试使用&&、||。
{}
主要用于命令集合或者范围,例如mkdir -p /data/{,}/、SHELL编程For语句案例实战
1)For语句固定的语法格式:
For i in (表达式)
do
动作1
done
2)For语句案例操作一:
#!/bin/bash

do
echo “$NUM) www.jd.com”
done
3)For语句案例操作二:
#!/bin/bash
..})
do
echo “$NUM) www.jd.com”
done
4)For语句案例操作三:
#!/bin/bash
COMMAND="$*"
.{..}do
echo -e "\033[32mThe $IP Exec Command:\033[0m"
ssh -l root $IP "$COMMAND"
done

SHELL用法三(变量及参数设置)的更多相关文章

  1. 1.shell编程之变量的高级用法

    1.1.变量替换 变量替换的六种形式 实例:非贪婪和贪婪的区别 从头部删除 [root@VM_0_9_centos shell_learn]# var_1="i love you,do yo ...

  2. Shell编程中变量用法

    1. 变量替换 语法 说明 ${变量名#匹配规则} 从变量开头进行规则匹配,将符合最短的数据删除 ${变量名##匹配规则} 从变量开头进行规则匹配,将符合最长的数据删除,贪婪匹配 ${变量名%匹配规则 ...

  3. Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

    Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...

  4. u-boot 环境变量参数设置

    今天本来是烧写内核,结果一不小心把uboot也整不能用了,无奈之下只好重新烧个uboot,等都弄好以后,发现系统还是启动不了,原来是启动参数设置不对,于是找到了这篇文章,//是我添加的内容. 原文地址 ...

  5. JVM系列三:JVM参数设置

    JVM系列三:JVM参数设置.分析   不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM.GC的参数,可以极大的减少由于GC工作,而导致的程序运 ...

  6. [MySQL] 变量(参数)的查看和设置 [转]

    [MySQL] 变量(参数)的查看和设置 类似于Oracle的参数文件,MySQL的选项文件(如my.cnf)用于配置MySQL服务器,但和Oracle叫法不一样,在MySQL里, 官方叫变量(Var ...

  7. Azure Blob (三)参数设置说明

    一,引言 上一篇将 Azure Blob 存储的时候,有使用到一个 .NET  Core Web 项目,通过代码的方式进行操作 Azure Blob 的数据,接着上一篇的内容,今天继续看一下代码,具体 ...

  8. 3.1 shell简介、变量、运算符

    小知识: ipcs可以查看系统中创建的ipc进程间通信资源,例如信号量.共享内存等.示例如下: 什么是shell? shell是核心程序kernel之外的指令解析器,是一个程序,同时是一种命令语言和程 ...

  9. Shell编程之变量进阶

    一.变量知识进阶 1.特殊的位置参数变量 实例1:测试$n(n为1...15) [root@codis-178 ~]# cat p.sh echo $1 [root@codis-178 ~]# sh ...

随机推荐

  1. Codeforces Round #568 (Div. 2)网卡&垫底记

    这场和div3差不多嘛(后来发现就是div3),就是网太卡10min交一发就不错了,简直自闭. A 签到. B 记录每一段的字母数,满足条件即:段数相同+字母相同+字母数下>=上. #inclu ...

  2. 计算机网络(3): ICMP报文

  3. python 网络请求、下载

    #获取qq群中的群成员qq号import requestsmembers = []url = 'https://qun.qq.com/cgi-bin/qun_mgr/search_group_memb ...

  4. mybatis 在自动生成时设置不生成Example类

    只需要在配置要生成的table表中添加几个配置属性就行了. 在generatorConfig.xml文件中修改 <!--指定数据库表--> <table tableName=&quo ...

  5. PHP实现快速排序算法相关案例

    <?php /** * 快速排序 --主要运用递归, 先把一个数找准位置,然后再递归把左右两边的数都找准位置 */ function QSort($a= []){ $nCount = count ...

  6. PAT Advanced 1052 Linked List Sorting (25) [链表]

    题目 A linked list consists of a series of structures, which are not necessarily adjacent in memory. W ...

  7. sklearn KMeans聚类算法(总结)

    基本原理 Kmeans是无监督学习的代表,没有所谓的Y.主要目的是分类,分类的依据就是样本之间的距离.比如要分为K类.步骤是: 随机选取K个点. 计算每个点到K个质心的距离,分成K个簇. 计算K个簇样 ...

  8. 关于redis的使用总结

    简介 redis是一个开源的用c语言编写的数据库,但并不像常规的关系型数据库那样把数据存储在表中 , 而是像Java中的Map集合一样,存储的是一系列key=value键值对,redis属于NoSQL ...

  9. 关于maven的使用总结

    maven介绍 项目构建过程 eclipse只是开发工具,虽然提供了创建.编码.编译.测试.运行等功能,但并不是项目构建工具. 项目构建主要过程如下: 实际的项目构建过程要复杂繁琐的多.如果是一个独立 ...

  10. Dinic学习笔记

    网络流是啥不用我说了吧 增广路定理不用我说了吧 Dinic就是分层然后只在层间转移,然后就特别快,\[O(N^2M)\] 伪代码: function dinic int flow = 0 ; whil ...