1、查看当前系统用户Shell定义的环境变量,并使用命令搜索HOME变量的值;
2、测试主进程变量和子进程变量区别;
3、设计一个Shell程序,当程序运行时要求从键盘读入一个字符串(如:hadoop)并将其赋值给user变量,程序输出:“Current user is :hadoop”。其中输出字符串“hadoop”是变量user中的内容。
4、userurl_20150911文件是用户上网记录,每一行代表用户的一条浏览记录,同一个用户可能有多条浏览记录。试设计一个shell程序命名为userAnalysis.sh用来计算该文件中任一用户浏览记录总条数。
要求:1、命令行运行程序时传递手机号码参数
2、 命令运行时输出查找用户浏览记录总条数
#!/bin/bash
id="86"$1
cut -f 3 userurl_20150911 | grep $id | wc -l
5、编写shell脚本score。根据输入的学生成绩判断等级。当成绩≥90时为A级;80≤成绩<90时为B级;70≤成绩<80时为C级;60≤成绩<70时为D级;成绩<60时为E级。
#!/bin/bash
echo "Please enter a number"
read num
if [ -z $num ]
then
echo "you enter nothing,please enter a number"
read num
else
if [ $num -ge 90 ]
then
echo "The grade is A"
else
if [ $num -ge 80 ]
then
echo "The grade is B"
else
if [ $num -ge 70 ]
then
echo "The grade is C"
else
if [ $num -ge 60 ]
then
echo "The grade is D"
else
echo "The grade is E"
fi
fi
fi
fi
fi
6、编写一个程序,它的作用是:
a、 创建1000个目录,目录名依次为1,2,3,……,1000;
b、 在每个目录下创建一个文件,文件名与目录名相同;
c、 向文件中写入数值,文件名为1的文件写入的数值为1,文件名为2的写入的数值为2,以此类推.
#!/bin/bash
for((i=1;i<=1000;i++))
do
mkdir $i
done
echo "mkdir success!"
sleep 5
for ((i=1; i<=1000; i++));
do
cd $i
touch $i.txt
cd $i.txt
echo "$i"
done
7、编写shell脚本,其功能包括:
a、根据用户输入的数值输出2020年的月历,用户输入“Q”退出查询;
b、用户可连续查看多个月份的月历;
c、月历输出及匹配部分用函数实现。
#!/bin/bash
show_date()
{
cal $1 $2
}
while true
do
echo "请输入2020年的月份"
year=2020
read month
if [ $month == "Q" ];
then
break;
fi
show_date $month $year
done
8、编写一个shell脚本,它的作用是:
a、 创建31个目录,目录名依次为url_20180301, url_20180302, url_20180303,……,url_20180331;
b、利用创建好的目录名作为for语句循环变量的取值集,将这些目录名串在一起存放在变量InputPath中(目录之间以空格隔开,最后一个目录名后没有空格。)
#!/bin/bash
t="url20180301"
for((i=2;i<=30;i++))
do
if [ $i -lt 10 ];then
mkdir url2018030$l
a="url2018030$i"
s="$a "
t="$t $s"
else
mkdir url2018030$l
a="url201803$i"
s="$a "
t="$t $s"
fi
done
mkdir url201803$l
s="url201803$l"
t="$t $s"
echo $t