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

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

相关推荐

  • N25-第十一周博客作业

    1、详细描述一次加密通讯的过程,结合图示最佳。 点对点加密过程如下: 发送方根据单向加密算法计算数据的特征码 用私钥加密这段特征码,生产数字签名,将数字签名附着在数据后面 发送方生产临时对称密钥,用对称加密算法结合对称加密密钥加密整段数据(数据+数字签名) 为保证接收方可以解密,发送方用接收方的公钥加密对称加密密钥,附加在数据后面 接收方用自己的私钥解密数据…

    Linux干货 2017-03-30
  • 第二周相关习题。

    习题 显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。 [root@localhost /]# ls -d /var/l*[0-9]*[[:lower:]] 显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。 [root@localhost&n…

    Linux干货 2016-11-05
  • 使用yum源码编译安装程序

    需要的安装包:httpd-2.2.29.tar.bz2 1、安装develpment tools     yum groupinstall "Development Tools" 2、下载服务器中的http源安装包到本地,然后解压到指定文件夹中 lftp 10.1.0.1:/pub/Sources/…

    Linux干货 2016-08-24
  • N25-第七周作业

    第七周 1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@zf ~]# fdisk /dev/sdb Command (m for help): n Command action e extended p primary partit…

    Linux干货 2017-02-24
  • 证书及加解密原理图解

    证书管理 现在上网大多数网站都是使用https的协议,https是一个安全的访问方式,数据在传输过程中是加密的,这时候在服务器端就需要使用证书。 科普加解密流程 服务器端客户端 服务器在和客户端通信前必须先建立SSL会话,下图解析SSL会话过程

    Linux干货 2016-09-25
  • bash中的变量详解

        在bash中,巧妙地运用变量,能够大大减轻编程的工作量,下面让我们来详细了解一下bash的变量. bash中的变量种类:     根据变量的生效范围等标准:         本地变量:生效范围…

    Linux干货 2016-08-18