脚本的进阶与一些基本脚本

1,脚本中用于表示数字大小写和符号为:

-gt(大于)-lt(小于)-ne(不等于)-eq(等于)

格式为 [[空格 ”符号”空格]]

2,测试文件类型的选项

-f(是否为普通文件)-l(是否为链接文件)-d(是否为目录)-e(单独测试文件是否存在)

3,if语句的格式:(其中path代表条件,elif链接多个条件,最后一个条件用else表示)

if path1;then
        elif path2;then
        elif path3;then
        else path4;then
fi

4,while循环语句的格式

while +(条件);do
  (需要执行的操作)
done

其中条件如果一直为真,则这个循环为死循环。

                                                  基本的脚本

1.

写一个脚本

1、创建用户tuser1-tuser9;

2、创建目录/tmp/dir-当前日期;

3、在/tmp/dir-当前日期 目录中创建9个空文件file101-file109

4、将file101的属主改为tuser1,依次类推,一直将file109的属主改为tuser9;

#!/bin/bash
#
basedir=/tmp/dir- date + %Y%m%d
mkdir -p $basedir
for i in {1..9};do
filename=$basedie/file10$i
        touch $filename
        useradd tuser$i
        chown tuser$i $filename
done
~                           

2.

给定4个整数,判断其中的最大值和最小数。并显示出来

#!/bin/bash
#
if [ $# -ne 4 ];then
        echo "error"
        exit
fi
max=$1
min=$1
shift
for i in {2..4} ;do
    if [[ "$1" =~ ^[0-9]+$ ]] ;then
        if [ $max -lt $1 ] ;then
            max=$1
        fi
        if [ $min -gt $1 ] ;then
            min=$1
        fi
    else
        echo "$1 Not a number."
        exit 100
    fi
    shift 
done

echo "Max: $max"
echo "Min: $min"

3.打印99乘法表

#!/bin/bash
#
for ((i=1;i<=9;i++));do
        for((j=1;j<=i;j++));do
                echo -e "$j*$i=$(($i*$j))\t\c"
        done;
        echo
        done;

原创文章,作者:yuanchengren,如若转载,请注明出处:http://www.178linux.com/76710

(0)
yuanchengrenyuanchengren
上一篇 2017-05-22
下一篇 2017-05-22

相关推荐

  • 六步建立yum仓库

    建立yum仓库

    Linux干货 2018-03-26
  • 0803作业

    课上练习 1.当用户xiaoming 对/testdir  目录无执行权限时,意味着无法做哪些操作?  drwxr-xr–. 14 root root 4096 Aug  3 13:35 /testdir [xiaoming@localhost ~]$ touch /testdir/f1…

    Linux干货 2016-08-04
  • 一键搭建mysql集群系列一

    一键自动安装mysql 5.7 shell脚本自动化安装二进制mysql-5.7 本节主要用到四个shell脚本 和 一台资料存储机器(IP:192.168.42.26) install_mysql.sh 自动化安装mysql脚本 ntpdate.sh 时间同步脚本 system_init.sh 系统初始化脚本 yum.sh yum源配置脚本 执行步骤: 1…

    2017-05-13
  • 马哥教育网络班22期+第7周课程练习

    week7: 1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程…

    Linux干货 2016-09-26
  • 管道、重定向和用户管理练习

    前面一章学习了硬链接和软链接,回顾上一章节内容:    硬链接:在inode表中记录一个条目,所有的元数据和原始文件元数据相同。        ·相当于两个名字。        ·删除原始文件,另一个条目也能够…

    Linux干货 2016-08-04
  • Linux系统grep正则表达式

    一、grep命令的使用 首先,我们来了解grep命令,grep (global search regular expression and printing),全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Linux中的grep命令包括、grep, egrep和fgrep 。egrep是grep…

    Linux干货 2017-04-23