众客华禹

 找回密码
立即注册

QQ登录

只需一步,快速开始

查看: 499|回复: 0

Linux Shell脚本自动化编程实战-开篇介绍

[复制链接]

70

主题

70

帖子

378

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
378
发表于 2022-2-11 14:23:19 | 显示全部楼层 |阅读模式
一、Shell作用
1205182-20220108144624052-977346367.png
二、C、Java、Python、Shell执行方式的对比
1、 程序语言执行
1205182-20220108144918727-1233484014.png

2、Bash中调用python
1205182-20220108145313112-2096449623.png

备注:

    -:可以支持下方输入内容使用tab键

3、当前shell和子shell
1205182-20220108150546821-242651402.png

当前shell:使用.和source执行。
子shell:大部分的shell脚本常规都是子shell执行。

三、Shell技术
1205182-20220108151234248-1632133181.png

四、linux支持的shell
1、查看linux系统支持的shell
[root@jenkins ~]# cat /etc/shells
  1. /bin/sh
  2. /bin/bash
  3. /sbin/nologin
  4. /usr/bin/sh
  5. /usr/bin/bash
  6. /usr/sbin/nologin
复制代码
2、login shell和nologin shell区别
bash相关的文件:
  1. [root@jenkins ~]# rpm -qc bash
  2. /etc/skel/.bash_logout
  3. /etc/skel/.bash_profile
  4. /etc/skel/.bashrc
复制代码
例子演示:
  1. [root@jenkins ~]# usermod -s /bin/bash alice
  2. [root@jenkins ~]# su alice
  3. [alice@jenkins root]$ ls
  4. ls: cannot open directory .: Permission denied
  5. [alice@jenkins root]$ exit
  6. exit
  7. [root@jenkins ~]# su - alice
  8. Last login: Sat Jan  8 02:23:03 EST 2022 on pts/0
  9. [alice@jenkins ~]$ pwd
  10. /home/alice
  11. [alice@jenkins ~]$ exit
  12. logout
复制代码
图解:
1205182-20220108152623541-2041644561.png
登录shell执行:
  1. [root@jenkins ~]# ll /etc/profile
  2. -rw-r--r--. 1 root root 1819 Apr 11  2018 /etc/profile
  3. [root@jenkins ~]# ll /etc/bashrc
  4. -rw-r--r--. 1 root root 2853 Apr 11  2018 /etc/bashrc
  5. [root@jenkins ~]# ll ~/.bash_profile
  6. -rw-r--r--. 1 root root 176 Dec 28  2013 /root/.bash_profile
  7. [root@jenkins ~]# ll ~/.bashrc
  8. -rw-r--r--. 1 root root 176 Dec 28  2013 /root/.bashrc
复制代码
离开shell执行:
  1. [root@jenkins ~]# ll ~/.bash_logout
  2. -rw-r--r--. 1 root root 18 Dec 28  2013 /root/.bash_logout
  3. [root@jenkins ~]# ll ~/.bash_history
  4. -rw-------. 1 root root 938 Jan  8 01:28 /root/.bash_history
复制代码
五、GNU/bash shell特点
1205182-20220108153229858-1176509361.png

备注:

      1、vim 编辑某个文件,在视图模式下,按crtl+z ,暂停,退出编辑文件,fg回到编辑文件的模式
      2、!string中string会调出最近以string字符开的的命令
      3、linux中的小火车 sl命令,安装yum install -y sl
      4、>输出重定向,覆盖 ; >>输出重定向,追加 ;2>错误输出,覆盖;2>>错误输出,追加;2>&1错误2输出到1 ;&>混合输出
      5、screen命令
  1. [root@jenkins ~]# yum install -y screen
  2. [root@jenkins ~]# screen -S install_nginx      
  3. [root@jenkins ~]# screen -list
  4. There are screens on:
  5. 11078.install_nginx (Attached)
  6. 1311.install_nginx (Detached)
  7. 2 Sockets in /var/run/screen/S-root.

  8. [root@jenkins ~]# screen 1311
复制代码
  6、cat命令
  1. [root@jenkins ~]# cat < /etc/hosts                    #没有加参数,使用的重定向
  2. 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
  3. ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  4. 192.168.100.120 iregistry.baidu-int.com  vm.gitlab-local.com
  5. [root@jenkins ~]# cat  /etc/hosts                     #加了一个参数
  6. 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
  7. ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  8. 192.168.100.120 iregistry.baidu-int.com  vm.gitlab-local.com
  9. [root@jenkins ~]# cat < /etc/hosts >/etc/hosts1       #重定向,相当于cp
复制代码
  7、管道|tee
1205182-20220108155836320-945027601.png
     
     备注:   
           tee:重定向内容,而不截流

六、命令排序
1205182-20220108160214782-1449343274.png

备注:

    ; :不具备逻辑判断
    &&:具备逻辑判断,只有当前一个命令执行成功,才会执行后面的命令
    ||:具备逻辑判断,上一个命令执行失败,才会执行后面的命令

七、shell通配符(元字符)表示的不是本意                                        
1205182-20220114110040766-642298196.png
八、颜色输出文本
      echo:用于字符串的输出   
      选项:
          -n 不换行输出
    -e 启用反斜线转义解释
   -E 禁用反斜线转义解释(默认)
  1. echo -e "e[1;36mThis is text.e[0m"

  2. e;36m   #打印颜色文本

  3. 字颜色:30-----------39
  4. 30:黑
  5. 31:红
  6. 32:绿
  7. 33:黄
  8. 34:蓝色
  9. 35:紫色
  10. 36:深绿
  11. 37:白色

  12. 字背景颜色范围:40----49
  13. 40:黑
  14. 41:深红
  15. 42:绿
  16. 43:黄色
  17. 44:蓝色
  18. 45:紫色
  19. 46:深绿
  20. 47:白色

  21. e[0m     #重置颜色
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|众客华禹 ( 蜀ICP备2021016660号 )

GMT+8, 2022-5-17 09:25 , Processed in 0.052235 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表