今天在加班中秋加班唉,苦逼的工程师,这次给大家带来一些例子,脚本的编程。
写一个脚本:如果某路径不存在,则将其创建为目录;否则显示其存在,并显示内容类型;
#!/bin/bash
#
if [ $# -ne 1 ]
then
echo "必须输入一个目录"
exit 1
fi
if [ -d $1 ]
then
echo "目录 $1 存在 "
file $1
else
mkdir -p $1 &>/dev/null
echo "创建目录成功"
fi
写一个脚本,完成如下功能;判断给定的两个数值,孰大孰小;给定数值的方法:脚本参数,命令交互;
#!/bin/bash
#
read -p "请输入两个数字空格隔开:" -t 5 aa bb
if [ -z "$aa" -o -z "$bb" ];
then
echo "请按照要求输入数字谢谢."
exit 1
fi
if [ $aa -gt $bb ]
then
echo "大的是:$aa , 小的是:$bb"
elif [ $aa -lt $bb ]
then
echo "大的是:$bb , 小的是:$aa"
else
echo "$aa 等于 $bb"
fi
7、求100以内所有奇数之和(至少用3种方法。^_^)
#!/bin/bash
declare -i i=1
declare -i sum=0
for i in `seq 1 100`
do
if [ $[$i%2] -eq 0 ]
then
continue
fi
sum+=i
done
echo "sum is $sum"
#!/bin/bash
#
declare -i i=0
declare -i sum=0
until [ $i -eq 100 ]
do
let i++
if [ $[$i%2] -eq 0 ]
then
continue
fi
sum+=i
done
echo "sum is $sum"
#!/bin/bash
#
declare -i i=1
declare -i sum=0
while [ $i -le 100 ]
do
sum+=i
let i+=2
done
echo "sum is $sum"
8、写一个脚本实现如下功能:(1) 传递两个文本文件路径给脚本;(2) 显示两个文件中空白行数较多的文件及其空白行的个数;(3) 显示两个文件中总行数较多的文件及其总行数;
#!/bin/bash
#
for i in $1 $2;do
echo $i
awk '/^[ ]/ {++S[$NF]} END{for(a in S) print a, S[a]}' $i
awk 'BEGIN{c=0}/^[ ]/{c++}END{printf "space=%d\ncount=%d\n",c,NR}' $i
done
9、写一个脚本
(1) 提示用户输入一个字符串;
(2) 判断: 如果输入的是quit,则退出脚本; 否则,则显示其输入的字符串内容;
#!/bin/bash
read -p "请输入一个字符:" -t 5 aa
if [ -z $aa ]
then
echo "请按照要求输入一个值"
exit 1
fi
case $aa in
quit)
exit 0
;;
*)
echo "$aa"
esac
10、写一个脚本,打印2^n表;n等于一个用户输入的值;
#!/bin/bash
#
declare -i sum=2
read -p "请输入一个数字: " num1
for ((j=1;j<=$num1;j++));do
echo -n -e "${sum}^$j=$[$sum**$j]\n"
done
转载于:https://blog.51cto.com/shaonian/1698011