2019-04-09课堂笔记

[if !vml]

[endif]


因为自己没有高学历就认为自己不行,别没有高学历本身更可怕100倍。

[if !supportLists]1) [endif]自身形象

[if !supportLists]a.     [endif]穿着

[if !supportLists]b.     [endif]行为举止(一举一动,言谈,声音语调)

[if !supportLists]2) [endif]背景(背书)

学历、能力、态度、特长、人品、名企、口碑(身边的人、领导)

[if !supportLists]3) [endif]实际的让人认可的数据。





人生四行:

[if !supportLists]1.     [endif]自己要行。

[if !supportLists]2.     [endif]要有人认为你行。

[if !supportLists]3.     [endif]认为你行的人也要行。

[if !supportLists]4.     [endif]身体要行。


能力很重要:搞定有决策能力的人。

追女朋友:

技术能力、(沟通表达、思想思维、人品态度)

员工:7:3或者6:4

主管/领导:6:4或者5:5

高管:4:6甚至3:7






Shell编程基础

因为Web集群架构会用到Shell编程基础,提前讲。

[if !vml]

[endif]

为什么要学习Shell编程?

Linux系统中会大量的使用Shell,工作中我们也需要自动化实现业务,

例如:自动备份、监控、自动安装服务。


Shell编程时Linux运维人员必须要会的编程语言。最简单的编程语言。

编程也是运维人员必须具备的本领:

Shell、python编程也是运维人员必须具备的本领


2、什么时Shell?

Shell就是一个解释器(翻译官)。命令行的命令以及脚本都会通过shell解释。

传给操作系统,处理后输给用户


[root@quyunlong~]#

tail -1 /etc/passwd

tcpdump:x:72:72::/:/sbin/nologin  #<====创建用户时,系统指定的翻译官。


3、Shell的分类

[if !vml]

[endif]

Shell有包括csh、tcsh两种类型。


C7:支持shell

[root@quyunlong~]#

cat /etc/shells

/bin/sh

/bin/bash

/usr/bin/sh

/usr/bin/bash


4、C7:默认Shell

[root@quyunlong~]#

echo $SHELL

/bin/bash


5、什么是Shell脚本?

程序、命令放入文件里执行,这个文件称之为Shell脚本文件。

工作中最多的编程写脚本,存放在文件里。




6、Shell变量:

a.全局变量(环境变量)

在整个系统中生效、一般是大写、系统中默认就存在一些这样的变量,

满足系统和程序运行的需求


系统自带的环境变量;

[root@quyunlong~]#

echo $PS1

[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\]\w\[\e[0m\]]\$

[root@quyunlong~]#

echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@quyunlong~]#

echo $SHELL

/bin/bash

[root@quyunlong~]#

echo $UID

0

自定义环境变量:

方法一

export OLDBOY=”I am oldboy.”

[root@quyunlong~]# export OLDBOY="I am

oldboy."

[root@quyunlong~]# echo $OLDBOY

I am oldboy.

[root@quyunlong~]#


[if !vml]

[endif]


安装java服务的时候就会配置环境变量。



B.局部变量(普通变量)

是编写Shell脚本最常用的变量。

变量名=值

a=1

变量名:数字、字母、下划线,不能是数字开头。

=等号:赋值符,把什么东西给谁。赋值符号两边不能有空格

值:东西,变量内容。

    引用内容的符号:单引号、双引号、反引号、不加引号


[root@quyunlong~]#

a=1

[root@quyunlong~]#

echo $a

1

[root@quyunlong~]#

a=oldboy

[root@quyunlong~]#

echo $a

oldboy

[root@quyunlong~]#

x=1

[root@quyunlong~]#

y=$x+1

[root@quyunlong~]#

echo $y

1+1

[root@quyunlong~]#

x=1

[root@quyunlong~]#

y=$x+1

[root@quyunlong~]#

echo $y

1+1

[root@quyunlong~]#let y=$x+1    #<====让括号的内容进行计算。

[root@quyunlong~]#

echo $y

2



[root@quyunlong~]#

a=1

[root@quyunlong~]#

echo ${a}b

1b



7、表达式

[ 表达式 ]中括号表达式,中括号里面两端必须要有空格(可以试多个空格)。


字符串要加双引号

[root@quyunlong~]#

[ a=a ] && echo 1||echo 0

1

[root@quyunlong~]#

[ "a" = "b" ] && echo 1||echo 0

0

如果表达式成立,打印1否则打印0

[if !vml]

[endif]



整数表达式:

[if !supportLists]Ø  [endif]     -gt

>=      -ge

<       -lt

<=      -le

=       -eq

不等于 -ne



[root@quyunlong~]#

a=1

[root@quyunlong~]#

[ $a -eq 1 ] && echo 1||echo 0

1

[root@quyunlong~]#

[ $a -eq 0 ] && echo 1||echo 0

0

[root@quyunlong~]#

[ $a -gt 0 ] && echo 1||echo 0

1

[root@quyunlong~]#

[ $a -lt 0 ] && echo 1||echo 0

0



[if !supportLists]1.     [endif]整数表达式符 两端必须要有空格

[if !supportLists]2.     [endif]中括号里面两端必须要有空格

[if !supportLists]3.     [endif]变量和比较的内容,不需要加引号。


字符表达式:


-z变量内容长度为0时,为真(正确)。Zero

-n变量内容长度【不】为0时,为真(正确)。Not zero

a == a   字符串是否相同

字符串要加双引号

[root@quyunlong~]#

oldboy="I am oldboy"

[root@quyunlong~]#

[ -z "$oldboy" ] && echo 1||echo 0

0

[root@quyunlong~]#

oldboy=" "

[root@quyunlong~]#

[ -n "$oldboy" ] && echo 1||echo 0

1


[root@quyunlong~]#

[ "test" == "host" ] && echo 1||echo 0

0

[root@quyunlong~]#

[ "test" == "test" ] && echo 1||echo 0

1

[root@quyunlong~]#


判断句:

如果。。。那么。


如果[ 你是潜力股 ]

那么

     我就和你谈朋友

否则

     拜拜

If判断句语法:

If  [  表达式 ]

then

     命令

fi


如果[ 你是潜力股 ]

那么

     我就和你谈朋友


[root@quyunlong~]#

bash test.sh

先和你谈朋友

[root@quyunlong~]#

cat test.sh

#!/bin/bash

boy="潜力股"

if [

"$boy" == "潜力股" ]

then

    echo "先和你谈朋友"

else

    echo "拜拜"

fi

[root@quyunlong~]#


Read命令读取用户输入

-p “提醒:”

-t “多长时间内等待输入”


特殊位置变量:

$1脚本文件的第一个参数

$2 脚本文件的第二个参数


for n in 取值列表

do

    执行命令

done




课后练习题

[if !supportLists]1、 [endif]比较整数大小。

[root@quyunlong~]# cat bijiao.sh

#!/bin/bash

read -p "请输入两个整数:" a b

if [ $a -gt $b ]

then

    echo "$a>$b"

elif [ $a -eq $b ]

then

    echo "$a=$b"

elif [ $a -lt $b ]

then

    echo "$a<$b"

else

    echo "你当我不识数吗?"

fi


[root@quyunlong~]# bash bijiao.sh

请输入两个整数:1 3

1<3

[root@quyunlong~]# bash bijiao.sh

请输入两个整数:3 1

3>1

[root@quyunlong~]# bash bijiao.sh

请输入两个整数:3 3

3=3

[root@quyunlong~]# bash bijiao.sh

请输入两个整数:a b

bijiao.sh: line 3: [: a: integer expression expected

bijiao.sh: line 6: [: a: integer expression expected

bijiao.sh: line 9: [: a: integer expression expected

你当我不识数吗?

[if !supportLists]2、 [endif]每周六日去旅游,其他时间,上课。

[root@quyunlong~]# cat zhoumo.sh

#!/bin/bash

if [ $(date +%w) -eq 6 ]|[ $(date +%w) -eq 0 ]

then

    echo "去旅游"

else

    echo "上课"

fi

[root@quyunlong~]# bash zhoumo.sh

上课

[if !supportLists]3、 [endif]取出系统IP地址,判断是否为10.0.0.31,如果是提示正确,如果不是给出提示。

[root@quyunlong~]# cat ip.sh

#!/bin/bash

#"/usr/sbin/ifconfig |awk 'NR==2{print $2}'"

# [ "$(/usr/sbin/ifconfig |awk 'NR==2{print $2}')" ==

"10.0.0.202" ]

a="$(/usr/sbin/ifconfig |awk 'NR==2{print $2}')"

if [ "$a" == "10.0.0.31" ]

then

    echo "正确"

else

    echo "IP不相同"

fi

[root@quyunlong~]# bash ip.sh

IP不相同

[if !supportLists]4、 [endif]打印10.0.0.1—10.0.0.254个IP地址,当ip地址为系统IP地址时,打印输出。

[root@quyunlong~]# cat ll.sh

#!/bin/bash

for n in {1..254}

do

if [ "10.0.0.$n" == "$(ifconfig|awk 'NR==2{print

$2}')" ]

then

    echo "正确"

fi

done

[root@quyunlong~]# bash ll.sh

正确

书写脚本习惯:

[if !supportLists]1.     [endif]以.sh结尾。

[if !supportLists]2.     [endif]脚本开头第一行#!/bin/bash脚本内容由谁来解释。

由于Linux下默认时bash,所以也可以不写这一行。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,723评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,003评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,512评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,825评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,874评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,841评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,812评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,582评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,033评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,309评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,450评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,158评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,789评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,409评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,609评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,440评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,357评论 2 352

推荐阅读更多精彩内容

  • 雨天,一个人逃逸。 将嘶喊与风与雨声撩至身后。 怀揣喜悦,奋力奔跑, 打湿的草地,散发清香气味。 前行的路,葱郁的...
    冶一阅读 217评论 2 3
  • 早上看到一张新闻图片,突然有一种感慨,有时候一辈子最大的成功是年轻的时候成就的!年轻时候成就的事业,有可能这一生都...
    张好奇阅读 373评论 4 6
  • 1 大笨的宅是与生俱来的。大笨刚出生不久,母亲抱着尚在襁褓中的大笨去楼下散步,一出家门,大笨就哇哇大哭。大笨的母亲...
    盛世阿明阅读 658评论 1 8
  • 基于现代医学的病因整体分析,结合自然之材,提供科学调理建议 小儿肠胃不好除了便秘或者腹泻外,会影响营养吸收,可能会...
    沈先生natural阅读 1,011评论 0 1