今天在加班中秋加班唉,苦逼的工程师,这次给大家带来一些例子,脚本的编程。
写一个脚本:如果某路径不存在,则将其创建为目录;否则显示其存在,并显示内容类型;
#!/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