2019-04-9课堂笔记

老男孩思想:

1、自身形象

A、穿着

B、行为举止(一举一动,言谈,声音语气语调)

2、背景(背书)

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

3、实际的让人认可的数据。

人生四行:

1、自己要行。

2、要有人认为你行。

3、认为你行的人也要行。

4、身体要行。

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

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

Shell编程基础

集群架构会用到

1、为什么要学习shell编程?

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

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

Shell编程是Linux运维人员必须要会的编程语言。最简单的编程语言。没有之一

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

2、什么是Shell?

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

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

tail -l /etc/passwd

oldboy:x:1001:1001::/home/oldboy:/bin/bash#<==创建用户时,系统指定的翻译官


3、Shell的分类

Bourne  shell又包括Bourne shell (sh)、Korn shell(ksh)、Bourne Again shell

  [[email protected]~]# cat /etc/shells

/bin/sh

/bin/bash

/usr/bin/sh

/usr/bin/bash


4、C7的默认shell

[[email protected]~]# echo $SHELL

/bin/bash

5、什么是Shell脚本?

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

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

6、shell变量

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

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

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

[[email protected]~]# echo $PS1

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

[[email protected]~]# echo $PATH

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

[[email protected]~]# echo $HOME

/root

[[email protected]~]# echo $SHELL

/bin/bash

[[email protected]~]# echo $UID

0

自定义环境变量:

方法一:

Export  OLDBOY=“I  am  oldboy”

方法二:

OLDBOY=“I    am   oldboy。”

/etc/profile===>~/.bash_profile==>~/.bashrc==>/etc/bashrc

推荐以后把环境变量放入/etc/bashrc


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


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

是编写shell脚本最长用的变量

变量名=值

例如:a=1

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

Oldboy、123a、_abc

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

值:东西,变量内容

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

[[email protected]~]# a=1

[[email protected]~]# echo $a

1

[[email protected]~]# a=2

[[email protected]~]# echo ${a}b

2b

7、表达式

{}中括号表达式,中括号里面两端必须要有空格。可以有多个或者一个

字符串要加双引号

[[email protected]~]# [ "a"="b" ] && echo 1||ehco 0

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

整数表达式

>  -gt

<= -le

>=  -ge

<  -lt

=  -eq

不等于-ne


整数表达式符两端要有空格

中括号里面两端必须要有空格

变量和比较的内容,不需要加引号。


字符表达式

-z变量内容长度为0时为  真(不对)。就是括号里面输出的内容没有时

-n变量内容长度【不】为0时,为真。not zero括号里面输出的内容有东西时

a == a字符串是否相同

[if !supportLists]1)[endif]字符串要加双引号

例子:

[root@oldboyedu ~]# oldboy="I am oldboy"

[root@oldboyedu ~]# [ -z "$oldboy" ] && echo 1 || echo 0

0

[root@oldboyedu ~]# oldboy=""

[root@oldboyedu ~]# [ -z "$oldboy" ] && echo 1 || echo 0

1

判断句:

如果.....那么

如果【你是潜力股】

那么

就和你谈朋友。

否则

拜拜

Shell里面“如果”就用“if”表示

 then                 

命令

fi


书写脚本习惯

1. 以.sh结尾

2.脚本开头第一行#!/bin/bash 脚本内容由谁解释。

由于Linux下默认是bash,所以也可以不写第一行

   [[email protected]~]# vim test.sh

boy="潜力股"

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

then

echo "先和你谈谈朋友"

else

echo "白白"

fi


~                                                                              

"test.sh"                                                    

 8L, 111C written

[[email protected]~]#

[[email protected]~]#

[[email protected]~]# sh test.sh

先和你谈谈朋友

[[email protected]~]# vim test.sh

boy="潜力股"

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

then

echo "先和你谈谈朋友"

else

echo "白白"

Fi

如果想设置多的就一直用elif   then

Read命令 读取用户输入

-p“提醒”

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

[[email protected]~]# read -t 3 -p "请输入一句话:"

请输入一句话:[[email protected]~]#

两个整数比大小

[root@oldboyedu ~]# cat com_

num.sh#!/bin/shread -p "请输入两个整数:" a bif [ $a -gt $b ]then    echo "$a>$b"elif [ $a -eq $b ]then    echo "$a=$b"else    echo "$a<$b"fi特殊位置变量:

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

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

[if !supportLists]8、[endif]for循环

fro  n  in取值列表

do

执行命令

done

你可能感兴趣的:(2019-04-9课堂笔记)