题目:
1、取出/etc/inittab文件的第6行;
2、取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按顺序进行显示;
使用cut、sort结合管道实现
3、如果/var/log/messages文件的行数大于100,就显示好大的文件
4、显示/etc目录下所有以pa开头的文件,并统计其个数
5、如果用户hadoop不存在就添加,否则显示用户已存在
6、编写一个 Shell 程序 test1,程序执行时从键盘读入一个目录名,然后 显示这个目录下所有文件的信息
7、编写一个 Shell 程序 test2,从键盘读入 x、y 的值,然后做加法运算,最后输出结果
解决:
1、取出/etc/inittab文件的第6行;
[root@bohe ~]# head -6 /etc/inittab |tail -1
#
2、取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按顺序进行显示;
使用cut、sort结合管道实现
[root@bohe ~]# cut -d : -f7 /etc/passwd |sort | uniq -c | sort -n
1 /bin/sync
1 /sbin/halt
1 sbin/nologin
1 /sbin/shutdown
3 /bin/bash
41 /sbin/nologin
3、如果/var/log/messages文件的行数大于100,就显示好大的文件
[root@bohe ~]# vim afile.sh +
#!/bin/bash
a=`wc -l /var/log/messages`
if [[ $a > 100 ]]
then
echo "好大的文件"
else
echo "/var/log/messages的行数为: $a"
fi
[root@bohe ~]# vim pa.sh +
#!/bin/bash
echo "/etc这个目录下所有以pa开头的文件有: "
find /etc/ -name "pa*" -type f
num=`find /etc/ -name "pa*" -type f | wc -l`
echo "文件的个数有: $num"
[root@bohe ~]# vim usr.sh
#!/bin/bash
grep hadoop /etc/passwd > /dev/null
if [ $? -ne 0 ]
then
useradd hadoop
else
echo "用户已存在"
fi
6、编写一个 Shell 程序 test1,程序执行时从键盘读入一个目录名,然后 显示这个目录下所有文件的信息
#!/bin/bash
read -p "请输入一个目录名: " path
ls -l $path
7、编写一个 Shell 程序 test2,从键盘读入 x、y 的值,然后做加法运算,最后输出结果
#!/bin/bash
read -p "请输入第一个数字: " a
expr $a "+" 10 &>/dev/null
if [ $? -ne 0 ]
then
echo "请输入正确的数字a"
exit 0
else
read -p "请输入第二个数字: " b
expr $b "+" 10 &>/dev/null
if [ $? -ne 0 ]
then
sum=$[$a+$b]
echo "两个数相加之和为: $sum"
else
echo "请输入正确的数字y"
fi
fi
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。