shell脚本概念和yum仓库的搭建

1./service/scripts 固定放脚本的文件;写脚本固定以.sh结尾;用bash执行脚本(也可用sh去执行脚本)

2.chmod +x(权限) test.sh 加权限以后可以用绝对路径执行脚本;/service/scripts/ test.sh

3.在linux中,没有指定解释器,会默认用bash解释器;#!/bin/bash (声明指定用bash解释器)

   脚本必须要写声明,脚本第一行固定有

4.理论上给脚本加上逻辑,变成编程;(echo "123123" | passwd -stdin yunjisuan)
5.在脚本里,[ ]是逻辑符号,&&是逻辑语(左边是假动作,右边不执行);|| 逻辑或(左边是假,右边才执行)逻辑或只能用一次,只能出现在最右边,用一个结束。

   echo 111 && echo 222 || echo 333

    (真)            (真)      (不执行)

6.[空格 内容 空格] 进行真或假判断的

   [ 1=1 ] && echo 真 || echo 假

   在计算机里面两个==是判断(x==3);一个=是复制,把右边的给左边

   [ 1==3 ] && echo 真 || echo 假

   在脚本里 -gt代表大于;-eq代表等于;-lt代表小于;-ge大于等于;-le小于等于;-ne是不等于

7./etc/init.d/sshd start 启动ssh服务

8.脚本里可以传参数 sh /service/scripts/test.sh 1 2 3 4 5

   $0取得是文件的执行路径;$*=$@把参数罗列出来;$# 参数的个数

9.shell计算 (1)expr $x+$y

                     (2)  echo "$((a+b))"

10.输入重定向 cat << FOF 让cat输出内容到屏幕上遇到FOF停止输出

     cat >test.txt<< FOF  键盘输入内容到test.txt里,输入FOF终止输入

     exit 强行终止脚本

11.read 把屏幕输出的内容,输入到后面的变量里

     read -p 把后面引号里的东西,存到后面变量里,然后再输出(逻辑或只能用一次,只能出现在最右边,用一个结束)

12.[ -d /service/scripts ] && echo 1 || echo 2  ; 判断/service/scripts是不是目录

     [ -d /service/scripts ] || mkdir -p /service/scripts; 不是目录就创建它

13.-e 判断目标是否存在;-f 判断文件;-d判断目录;-r 判断可读;-w 判断可写;-x 判断可执行;-z 判断是不是空

     [ -z " " ] && echo 空 || echo 不空

14.${#x}求变量有多少个字符;x=“123123” echo ${#x}  6

15.编程语言:(1)基本脚本命令 (2)基本逻辑语法

     if语句:(1)if (条件) (2)then 干啥 (3)fi (结尾符号);elfi 否则

16.用缩进(tab)来体现shell的优先集,条件判断只要成功一次,后面就不执行了

17.在shell脚本里搭建yum仓库

     #!/bin/bash

     umount /dev/sr0

     [ -d / media/cdrom ] || mkdir -p /media/cdrom

     mount /dev/sr0 /media/cdrom

     if [ $? -ne 0 ];then

    echo "请查看光盘是否插入“

    exit

     fi

     [ -d /etc/yum.repos.d ] || mkdir -p /etc/yum.repos.d

     cd /etc/yum.repos.d &&

     mv * /tmp/

     cat > /etc/yum.repos.d/local.repo <<FOF

     [local]

     name=local

     baseurl=file:///media/cdrom

     gpgcheck=0

     enabled=1

     FOF

     yum -y clean all && echo "yum clean"

     yum makecache && echo "huan cun success"

      

原文地址:https://www.cnblogs.com/liaang/p/9885354.html