第九周博客作业

1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现

#!/bin/bash

declare -i sum=0
declare -i sum_nologin=0

for i in $(cut -d: -f7 /etc/passwd);do
    if [ "$i" == "/sbin/nologin" ];then
        let sum_nologin++
    else
        let sum++
    fi
done

echo "Total user shell was '/sbin/nologin':$sum_nologin"
echo "Total user shell was not '/sbin/nologin' : $sum"

2、写一个脚本

(1) 获取当前主机的主机名,保存于hostname变量中;

(2) 判断此变量的值是否为localhost,如果是,则将当前主机名修改为www.magedu.com;

(3) 否则,则显示当前主机名;

#!/bin/bash

HOSTNAME=$(hostname)

if [ "$HOSTNAME" == "localhost" ];then
    hostname "www.magedu.com"
    echo "hostname already change to www.magedu.com"
else
    hostname
fi

3、写一个脚本,完成如下功能

(1) 传递一个磁盘设备文件路径给脚本,判断此设备是否存在;

(2) 如果存在,则显示此设备上的所有分区信息;

#!/bin/bash

if [ $# -lt 1 ];then
    echo "Please input a disk path"
    exit 1
fi

if [ -b $1 ];then
    fdisk -l $1
else
    echo "No such partitions"
fi

4、写一个脚本,完成如下功能脚本能够接受一个参数;

(1) 如果参数1为quit,则显示退出脚本,并执行正常退出;

(2) 如果参数1为yes,则显示继续执行脚本;

(3) 否则,参数1为其它任意值,均执行非正常退出;

#!/bin/bash

choose_yes () {
    read -p "Please choose one word (yes,quit or other word):" word
    choice
}

choice () {
    case $word in
        quit)
            echo "Exit the script"
            exit 2 ;;
        yes)
            echo "continue to excute the script"
            choose_yes ;;
        *)
            exit 3 ;;
esac
} 

choose_yes

5、写一个脚本,完成如下功能

传递一个参数给脚本,此参数为gzip、bzip2或者xz三者之一;

(1) 如果参数1的值为gzip,则使用tar和gzip归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.gz;

(2) 如果参数1的值为bzip2,则使用tar和bzip2归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.bz2;

(3) 如果参数1的值为xz,则使用tar和xz归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.xz;

(4) 其它任意值,则显示错误压缩工具,并执行非正常退出;

#!/bin/bash

if [ $# -lt 1 ]; then
    echo "Usage:please enter a kind of compression method(gzip|bzip2|xz)"
    exit 1
fi

case $1 in
gzip)
    tar -zcf /backups/etc-$(date +%Y%m%d).tar.gz /etc ;;
bzip2)
    tar -jcf /backups/etc-$(date +%Y%m%d).tar.bz2 /etc ;;
xz)
    tar -Jcf /backups/etc-$(date +%Y%m%d).tar.xz /etc ;;
*)
    echo "no such compression tool"
    exit 2 ;;
esac

6、写一个脚本,接受一个路径参数:

(1) 如果为普通文件,则说明其可被正常访问;

(2) 如果是目录文件,则说明可对其使用cd命令;

(3) 如果为符号链接文件,则说明是个访问路径;

(4) 其它为无法判断

#!/bin/bash

if [ $# -lt 1 ]; then
    echo "Pleae enter a path."
    exit 1
fi

if [ -f $1 ]; then
    echo "You can visit it"
elif [ -d $1 ]; then
    echo "You can use 'cd' command"
elif [ -l $1 ]; then
    echo "It's a access path"
else
    echo "can't judge the path"
fi

7、写一个脚本,取得当前主机的主机名,判断 (1) 如果主机名为空或为localhost,或为”(none)”,则将其命名为mail.magedu.com; (2) 否则,显示现有的主机名即可;

#!/bin/bash

HOSTNAME=$(hostname)

[ -z HOSTNAME -o "$HOSTNAME" == "localhost" -o "$HOSTNAME" == "(none)" ] && hostname mail.magedu.com && echo "hostname already changed"

echo "The hostname is $(hostname)"

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

(0)
N25_PierceN25_Pierce
上一篇 2017-06-06 15:10
下一篇 2017-06-06 16:58

相关推荐

  • 制作本地yum源与编译安装http

    1、制作本地yum源(centos7) [root@centos7 ~]# yum install -y lftp   #安装lftp程序 lftp 10.1.0.1:~> cd pub/Sources/sources/xen/ &n…

    Linux干货 2016-08-25
  • 第七周博客作业

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@localhost tmp]# cat /proc/partitions major minor #blocks name 8 16 52428800 sdb 8 17 1049041…

    Linux干货 2017-03-06
  • Linux平台的4个最佳开源代码编辑器

    原文出处: Abhishek   译文出处:Linux中国 su-kaiyao   正在寻找Linux平台最棒的代码编辑器?如果你询问那些很早就玩Linux的人,他们会回答是Vi, Vim, Emacs, Nano等。但是,我今天不讨论那些。我将谈论一些新时代尖端、漂亮、时髦而且十分强大, 功能丰富…

    Linux干货 2015-03-02
  • Python内置数据结构——集合set

    集合 定义 set翻译为集合 collection翻译为集合类型,是一个较大的概念 set是一个可变的、无序的、不重复的元素组成的集合 set的元素要求必须可以hash,目前已学的不可hash的类型只有list、set 元素不可以索引 set可以迭代 set的初始化 set_1 =set() #表示定义一个空集合set_1 set_1 =set(iterab…

    Linux干货 2017-10-03
  • 关于文件查找和解压缩

                     文件查找和解压缩在文件系统上查找符合条件的文件,文件查找的工具有两个,locate 和find文件查找分为:          &nbs…

    系统运维 2016-08-18
  • 人志建,则无敌—vim练习题

    马哥网络班21期-第六周博客 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@caicai ~]# cp -a /etc/rc.d/rc.sysinit /tmp [root@caicai&nbsp…

    Linux干货 2016-08-15

评论列表(1条)

  • 马哥教育
    马哥教育 2017-06-20 10:00

    写的很棒,希望可以再接再厉,继续保持