今天在加班中秋加班唉,苦逼的工程师,这次给大家带来一些例子,脚本的编程。

  •   写一个脚本:如果某路径不存在,则将其创建为目录;否则显示其存在,并显示内容类型;

     

#!/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