摘要:
和其它编程语言类似,Shell 也支持两种分支结构(选择结构),分别是 if else 语句和 case in 语句。在《Shell if else》一节中我们讲解了 if else 语句的用法,这节我们就来讲解 case in 语句。当分支较多,并且判断条件比较简单时,使用 case in 语句就
阅读全文
posted @ 2019-05-03 21:47
zhouyuqiang
阅读(8065)
推荐(0)
摘要:
[[ ]]是 Shell 内置关键字,它和 test 命令类似,也用来检测某个条件是否成立。test 能做到的,[[ ]] 也能做到,而且 [[ ]] 做的更好;test 做不到的,[[ ]] 还能做到。可以认为 [[ ]] 是 test 的升级版,对细节进行了优化,并且扩展了一些功能。[[ ]]
阅读全文
posted @ 2019-05-03 21:38
zhouyuqiang
阅读(272)
推荐(0)
摘要:
test 是 Shell 内置命令,用来检测某个条件是否成立。test 通常和 if 语句一起使用,并且大部分 if 语句都依赖 test。test 命令有很多选项,可以进行数值、字符串和文件三个方面的检测。Shell test 命令的用法为: test expression 当 test 判断 e
阅读全文
posted @ 2019-05-03 21:20
zhouyuqiang
阅读(5488)
推荐(1)
摘要:
在不同的作用域中,同名的变量不会相互干涉,就好像 A 班有个叫小明的同学,B 班也有个叫小明的同学,虽然他们都叫小明(对应于变量名),但是由于所在的班级(对应于作用域)不同,所以不会造成混乱。但是如果同一个班级中有两个叫小明的同学,就必须用类似于“大小明”、“小小明”这样的命名来区分他们。Shell
阅读全文
posted @ 2019-04-30 17:35
zhouyuqiang
阅读(10401)
推荐(0)
摘要:
Shell 也支持将命令的执行结果赋值给变量,常见的有以下两种方式: variable=`command`variable=$(command) 第一种方式把命令用反引号` `(位于 Esc 键的下方)包围起来,反引号和单引号非常相似,容易产生混淆,所以不推荐使用这种方式;第二种方式把命令用$()包
阅读全文
posted @ 2019-04-30 17:25
zhouyuqiang
阅读(23725)
推荐(2)
摘要:
单引号和双引号的区别 前面我们还留下一个疑问,定义变量时,变量的值可以由单引号' '包围,也可以由双引号" "包围,它们到底有什么区别呢?不妨以下面的代码为例来说明: #!/bin/bash url="http://c.biancheng.net" website1='C语言中文网:${url}'
阅读全文
posted @ 2019-04-30 17:21
zhouyuqiang
阅读(12772)
推荐(4)
摘要:
对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本。本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考。对于脚本输出的结果美化,需要进一步完善和调整。以下为具体的示例及其方法。 1、将SQL语句直接嵌入到shell脚本
阅读全文
posted @ 2019-04-30 15:20
zhouyuqiang
阅读(3425)
推荐(0)
摘要:
centos7 没有python-pip包就执行命令 yum -y install epel-release 执行成功之后,再次执行yum install python-pip 对安装好的pip进行升级 pip install --upgrade pip 至此,pip工具就安装好了。
阅读全文
posted @ 2019-04-30 12:25
zhouyuqiang
阅读(4281)
推荐(0)
摘要:
sed和awk用法 Sed sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent
阅读全文
posted @ 2019-04-29 17:42
zhouyuqiang
阅读(546)
推荐(0)
摘要:
cat aa.txt |sed 's/\"//g' 结果是:hello 双引号 操作 sed -i 's/"//g' config_20130101.dat 单引号操作 sed -i $'s/\'//g' kkk.txt sed -i ′s/\%//g‘s表示替换,\%就表示百分号,s/\%//将%
阅读全文
posted @ 2019-04-29 17:38
zhouyuqiang
阅读(692)
推荐(0)
摘要:
删除最后一个字符 如:1.1.1, 在file文件中: sed '$s/.$//' file 或者: head -c-2 去掉最后一个字符 head -c-3 去掉最后二个字符 head -c-4 去掉最后三个字符
阅读全文
posted @ 2019-04-29 17:35
zhouyuqiang
阅读(8301)
推荐(0)
摘要:
需求: shell读取文件内容,然后把内容赋值给变量然后进行字符串处理 实现: dataline=$(cat /root/data/data.txt) echo $dataline
阅读全文
posted @ 2019-04-29 17:30
zhouyuqiang
阅读(13548)
推荐(0)
摘要:
只添加本地修改的一个文件 如,只添加package.json一个文件 git add package.json git commit -m "修改qa环境版本号" git push origin qa
阅读全文
posted @ 2019-04-29 14:19
zhouyuqiang
阅读(3584)
推荐(0)
摘要:
git reset soft,hard,mixed之区别深解 git reset --hard 强制更新覆盖本地 GIT reset命令,似乎让人很迷惑,以至于误解,误用。但是事实上不应该如此难以理解,只要你理解到这个命令究竟在干什么。 首先我们来看几个术语 HEAD 这是当前分支版本顶端的别名,也
阅读全文
posted @ 2019-04-29 10:27
zhouyuqiang
阅读(7060)
推荐(0)
摘要:
import sys# print(0)## sys.exit(0)## print(123)# print(sys.version)# print(sys.maxsize)# print(sys.platform)# 可以实现py文件作为脚本文件执行,实现外部往内部传参# print(sys.ar
阅读全文
posted @ 2019-04-29 07:45
zhouyuqiang
阅读(244)
推荐(0)
摘要:
"""生成单级目录:os.mkdir('dirname')列举目录下所有资源:os.listdir('dirname')重命名:os.rename("oldname","newname")"""import os# os.mkdir('a')# os.makedirs('a/b/c')# os.re
阅读全文
posted @ 2019-04-29 07:45
zhouyuqiang
阅读(169)
推荐(0)
摘要:
# time模块import time# 时间戳res = time.time() # ***print(res, type(res))# time.sleep(1) # ***# print(123)# 自定义延迟# old_time = time.time()# while time.time(
阅读全文
posted @ 2019-04-29 07:44
zhouyuqiang
阅读(200)
推荐(0)
摘要:
import m1print(m1)# import sys# sys.path.append(r'D:\python周末四期\day06\代码\part8\a')## import m2# print(m2)## sys.path.append(r'D:\python周末四期\day06\代码\p
阅读全文
posted @ 2019-04-29 07:43
zhouyuqiang
阅读(386)
推荐(0)
摘要:
# 默认第一个路径为当前执行文件所在的路径import sysprint(sys.path)sys.path.clear()print(sys.path)# import json# print(json)# import socket# print(socket)# from json impor
阅读全文
posted @ 2019-04-29 07:42
zhouyuqiang
阅读(165)
推荐(0)
摘要:
"""# 内置 | 自定义 模块import timeprint(time)import my_timeprint(my_time.num)# time.sleep(7)from time import sleepsleep(7)from my_time import numprint(num)""
阅读全文
posted @ 2019-04-29 07:37
zhouyuqiang
阅读(434)
推荐(0)
摘要:
import m1# print('模块导入执行', m1.num)# import sys# print(sys.path)import json# print(json)if __name__ == '__main__': import mm mm.t1()
阅读全文
posted @ 2019-04-29 07:36
zhouyuqiang
阅读(698)
推荐(0)
摘要:
print('加载')import m1print(m1.m2.y)print('结束')
阅读全文
posted @ 2019-04-29 07:35
zhouyuqiang
阅读(179)
推荐(0)
摘要:
"""# 在执行文件中能不能直接使用模块中的名字# import m1# import m1 as m# print(m1.a)# print(m1.b)# print(m.a)# print(m.b)# 已经明确当前文件不去产生a,b,c三个名字,那a,b,c只有在m1中有,能不能直接用from
阅读全文
posted @ 2019-04-29 07:35
zhouyuqiang
阅读(467)
推荐(0)
摘要:
# 第一次导入模块,已经完成导入模块的三步,# 编译=>运行(产生名称空间存放名字)=>执行文件产生名字指向模块的名称空间import m1# 再次导入:前两步是重复操作,所以只会在当前文件再产生一个名字指向模块的名称空间import m1print(m1)print(m)a = 10b = aa
阅读全文
posted @ 2019-04-29 07:34
zhouyuqiang
阅读(325)
推荐(0)
摘要:
# import m1## print(m1.price)# mmmmmmmmmmmmmmmmmmmmmmm1# import mmmmmmmmmmmmmmmmmmmmmmm1# print(mmmmmmmmmmmmmmmmmmmmmmm1.num)# print(mmmmmmmmmmmmmmmmm
阅读全文
posted @ 2019-04-29 07:33
zhouyuqiang
阅读(276)
推荐(0)
摘要:
# 1.将具有共性的功能放在一个py文件中,这样的文件就可以称之为模块# 2.将封装好的模块对外提供功能# 3.在要使用模块功能的地方进行导入 => 使用功能# 在要使用模块功能的文件中用import关键词导入模块# 语法:import 模块名import m1 # m1名字就是模块m1的文件对象,
阅读全文
posted @ 2019-04-28 22:33
zhouyuqiang
阅读(201)
推荐(0)
摘要:
# 模块的概念:一系列功能的集合体,可以给其他文件提供功能(数据)'''常见的四种模块:1.使用python编写的.py文件2.把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包)3.使用C编写并链接到python解释器的内置模块4.已被编译为共享库或DL
阅读全文
posted @ 2019-04-28 22:32
zhouyuqiang
阅读(138)
推荐(0)
摘要:
# 装饰器:装饰器就是闭包的一个应用场景# -- 外层函数与内存函数形成的闭包结构的一种综合使用# def huaping():# print('插花功能')# 需求:如何拓展一个原有函数的功能# -- 修改源代码# -- 创建一个包含该功能和其他新功能的新函数# 开放封闭原则:# 开放:拓展功能的
阅读全文
posted @ 2019-04-28 22:30
zhouyuqiang
阅读(135)
推荐(0)
摘要:
# 为登录功能添加账号检验功能:必须是3个及以上英文字母组成def check_user(func): def inner(user, pwd): if not (user.isalpha() and len(user) >= 3): return '账号不合法' res = func(user,
阅读全文
posted @ 2019-04-28 22:30
zhouyuqiang
阅读(148)
推荐(0)
摘要:
# closure:闭包# 闭包:定义在函数内部的函数,这个内部的函数就是闭包# 应用场景:# 1.可以去使用其他函数的内部变量,且还可以保证调用位置不变(闭包的函数对象作为那个函数的返回值)def outer(): count = 3000 def fn(): print(count) # 能使用
阅读全文
posted @ 2019-04-28 22:29
zhouyuqiang
阅读(135)
推荐(0)
摘要:
'''# 函数的嵌套定义:在函数内部定义函数# 诞生的理由:一个函数想使用另一个函数内部的变量,可以定义在其内部def func(): a = 10 def fn(): print(a) return fnnew_fn = func()new_fn()''''''# global关键字: 统一局部与
阅读全文
posted @ 2019-04-28 22:28
zhouyuqiang
阅读(5178)
推荐(0)
摘要:
# part1'''x = 100def fn(): a = 10fn()# 没有缩进直接使用, 和在其他函数中,都只能使用x,不能使用函数内部的adef func(): print(x)func()# 问题点:什么导致变量的访问权限'''# part2# 名称空间:存放变量名与栈区内存地址的对应关
阅读全文
posted @ 2019-04-28 22:28
zhouyuqiang
阅读(115)
推荐(0)
摘要:
# 函数的嵌套调用:在一个函数内部调用另一个函数def fn1(): passdef fn2(): fn1() # 函数的嵌套调用def fn3(): fn2() # 函数的嵌套调用fn3()# 案例:# 求两个数最大值def max_two(n1, n2): if n1 > n2: return
阅读全文
posted @ 2019-04-28 22:27
zhouyuqiang
阅读(1910)
推荐(0)
摘要:
# part1owen_a = 10# owen_a存放10的地址,所以也是对象,普通的整型对象# 函数对象:存放函数地址的变量就叫函数对象,就是函数名def fn(): print(1) print(2) print(3) return 1print(fn)# 1.函数对象():拿到函数地址并执行
阅读全文
posted @ 2019-04-28 22:26
zhouyuqiang
阅读(187)
推荐(0)
摘要:
def fn(a, b): print(a, b)# 实参:# 1.位置实参: 按位置先后进行传参,a,b不能被颠倒位置进行传参,a永远比b先接受值fn(10, 20)fn(20, 10)a = 100b = 200fn(a, b)fn(b, a)# 传参两种方式:实参名 | 实参具体值# 2.关键
阅读全文
posted @ 2019-04-28 22:26
zhouyuqiang
阅读(506)
推荐(0)
摘要:
'''形参种类:1)位置形参 -- 普通位置形参 -- 默认值形参 -- 可变长位置形参2)关键字形参 -- 有默认值关键字形参 -- 无默认值关键字形参 -- 可变长关键字形参'''def fn1(a, b, *, x, y): pass# fn1()# 位置形参与关键字形参的分水岭 *# 重点:
阅读全文
posted @ 2019-04-28 22:26
zhouyuqiang
阅读(590)
推荐(0)
摘要:
# 形参与实参def fn(a, b=10, *args, c, d=20, e, **kwargs): passa = 100b = '200'def fn1(a, b): # 形参:在函数定义时()里出现的参数 print(a, b)fn1(a, '2000') # 实参:在函数调用时()里出现
阅读全文
posted @ 2019-04-28 22:25
zhouyuqiang
阅读(229)
推荐(0)
摘要:
'''1、功能的单一化2、函数内部需要外部的资源:通过函数的参数来实现3、函数执行后的结果需要告诉外界:通过返回值告诉给外界'''a = 10b = 20def fn(a, b): # return a + b # print(a + b) pass# print(fn(a, b))fn(a, b)
阅读全文
posted @ 2019-04-28 22:24
zhouyuqiang
阅读(354)
推荐(0)
摘要:
一、复习 二、今日内容 三、如何定义函数 四、函数的参数 形参与实参 两种实参 两大形参分类 两个带默认值的形参 不带默认值与带默认值形参结合使用 可变长位置形参与可变长关键字形参 总结 可变长整体传参:打散传值 五、函数对象 六、函数的嵌套调用 七、名称空间 八、函数的嵌套定义 两个与函数有关的关
阅读全文
posted @ 2019-04-28 22:21
zhouyuqiang
阅读(202)
推荐(0)
摘要:
复习 今日内容 模块 模块别名 模块的多次导入 模块在链式导入时的执行流程 FROM...IMPORT 语法 模块的两种执行方式 自执行 作为模块被导入执行 共存 模块的加载顺序 IMPORT与FROM...IMPORT:导入的方式采用的是绝对路径 环境变量的项目运行 项目目录分析 循环导入 包 导
阅读全文
posted @ 2019-04-28 22:14
zhouyuqiang
阅读(138)
推荐(0)