1.编写脚本,让用户输入firstname和lastname,最后在屏幕上显示your full name is:
cpp
#!/bin/bash
read -p "please input firstname:" var1
read -p "please input lastname:" var2
echo "your full name is:$var1$var2"
运行结果:
2.编写脚本,查找当前路径下某文件是否存在,若存在,则将其权限设置为用户主可读可写,其余用用户无任何权限。否则返回无此文件的信息。
cpp
#!/bin/bash
read -p "input a filename:" var
if test -e $var
then chmod 0600 $var
else
echo "no namefile"
fi
3.编写脚本文件leapyear.sh。脚本功能为:判断给定的某一年是否是闰年。
cpp
#!/bin/bash
read -p "input one year:" var
if test $((var % 4)) -eq 0 && test $((var % 100)) -ne 0 || test $((var % 40)) -eq 0
then
echo "$var是闰年"
else
echo "$var不是闰年"
fi
4.打印给定行数的*号。第一行打印1个,第二行打印2个,等等。行数由用户在命令行上输入。
cpp
#!/bin/bash
read -p "请输入行数" var
for((i=0;i<var;i++));
do
for((j=0;j<=i;j++));
do
echo -e "*\c"
done
echo
done
5.编写脚本文件sum.sh。脚本功能为:计算从1加到100的和并返回结果。
cpp
#!/bin/bash
for((i=1;i<=100;i++))
do
((sum=$(expr $sum+$i)))
done
echo $sum
6.编写shell脚本, 将第一个参数指定的内容 copy 到第二个参数指定地点。
若第一个参数是目录, 自动添加-r 选项(即把目录下的所有内容都 copy 过去);
若第一个参数是普通文件,则将其 copy 到指定地点;
若第一个参数指定的文件或目录不存在,则报错;
若第二个参数指定的文件或目录已经存在,则提示是否替换,若选择 yes,则先删除原来的文件或目录, 然后再执行 copy 操作, 否则放弃。
cpp
#!/bin/bash
read -p "请输入两个目录或文件参数:" var1 var2
if test -d $var1
then
cp -r "$var1" "$var2"
else
if test -f $var1
then
if ! test -e $var2
then
echo "erro"
else
read -p "是否替换?" a
if test $a="yes"
then
read -p "指定目录:" var3
rm -rf "$var2"
cp -r "$var1" "$var3"
echo "替换成功"
else
echo "放弃替换"
fi
fi
fi
fi